首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NGINX容器化服务器无法访问现有文件夹并返回错误404

是由于容器化环境中的文件系统与宿主机环境的文件系统隔离所导致的。在容器化环境中,每个容器都有自己的文件系统,与宿主机的文件系统是相互隔离的。因此,当NGINX容器化服务器尝试访问宿主机上的现有文件夹时,由于文件系统隔离的限制,无法直接访问到这些文件夹,从而导致返回错误404。

为了解决这个问题,可以采取以下几种方法:

  1. 数据卷挂载(Volume Mounting):通过将宿主机上的文件夹与容器内的文件夹进行映射,使得容器可以访问到宿主机上的现有文件夹。在启动容器时,使用-v参数指定宿主机文件夹和容器内文件夹的映射关系。例如:
  2. 数据卷挂载(Volume Mounting):通过将宿主机上的文件夹与容器内的文件夹进行映射,使得容器可以访问到宿主机上的现有文件夹。在启动容器时,使用-v参数指定宿主机文件夹和容器内文件夹的映射关系。例如:
  3. 这样,NGINX容器就可以通过容器内的文件夹路径来访问宿主机上的现有文件夹。
  4. 使用Docker数据卷(Docker Volumes):Docker提供了数据卷的功能,可以将宿主机上的文件夹作为数据卷挂载到容器中。通过使用数据卷,可以实现容器与宿主机之间的文件共享。在启动容器时,使用-v参数指定数据卷的名称和容器内文件夹的路径。例如:
  5. 使用Docker数据卷(Docker Volumes):Docker提供了数据卷的功能,可以将宿主机上的文件夹作为数据卷挂载到容器中。通过使用数据卷,可以实现容器与宿主机之间的文件共享。在启动容器时,使用-v参数指定数据卷的名称和容器内文件夹的路径。例如:
  6. 这样,NGINX容器就可以通过容器内的文件夹路径来访问与数据卷关联的宿主机上的现有文件夹。
  7. 构建自定义镜像:如果需要在NGINX容器中使用特定的现有文件夹,可以通过构建自定义的Docker镜像来实现。在Dockerfile中,可以使用COPYADD指令将宿主机上的现有文件夹复制到容器内的指定路径。然后,使用构建命令将Dockerfile构建为镜像,并在容器启动时使用该镜像。

总结起来,解决NGINX容器化服务器无法访问现有文件夹并返回错误404的方法包括数据卷挂载、使用Docker数据卷和构建自定义镜像。这些方法可以使得NGINX容器能够访问到宿主机上的现有文件夹,从而避免返回错误404。对于腾讯云相关产品,可以参考腾讯云容器服务(Tencent Kubernetes Engine,TKE)来进行容器化部署,详情请参考:https://cloud.tencent.com/product/tke

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

docker项目经验_如何培育与指导部署

---- 前置工作 1、需要准备的东西 一台Centos服务器连接 我这是演示用的垃圾云,建议大家上阿里云、腾讯云等。...第四步 创建nginx.conf.template编辑好保存 vi nginx.conf.template #打开编辑贴上下面的文件内容再按 esc 然后 : wq保存 # 第五步 创建Dockerfile...文件编辑好保存 vi Dockerfile #打开编辑贴上下面的文件内容再按 esc 然后 : wq保存 # 第五步 上传vue项目build后的dist文件夹 nginx.conf.template...页面配置 index index.html index.htm; } #error_page 404 /404....# my-frontend:v1.0 构建的镜像的名字 最后浏览器公网ip:3000就可以打开了,若打开提示无法访问此网站请输入: docker logs nginx01 #有报错信息的根据提示修改即可

64320

全栈式部署:SpringCloud 微服务+Docker + Vue + nginx 前后端一站式部署

ADD education.jar app.jar : 将本地文件 education.jar 添加到容器命名为 app.jar。...新建一个文件夹,并为每个微服务模块新建一个文件夹用于存放 jar 包、Dockerfile 和自动部署文件,目录结构如图: 把 back_end 这个文件夹整体压缩,压缩命令为: tar -cvf...使用 ssh 命令登录到服务器,根目录下新建一个 edu 文件夹,进入这个文件夹,查看当前目录,记住这个目录 //新建文件夹 edu mkdir edu //进入到 edu 文件夹内 cd edu /...配置,结果出现 successful 表示配置文件没有语法错误 nginx -t -c /etc/nginx/nginx.conf 重新加载配置 nginx -s reload -c /etc/nginx.../nginx.conf nginx -s reload 浏览器访问报 403 用浏览器访问域名,报 403 错误,要具体看到底是哪里出错了可以查看 nginx 错误日志,错误日志在哪放着呢?

2.3K31
  • 前端 Web 开发常见问题概述

    webpack 是一个前端开发中普通使用的文件模块(此模块与 JS 模块不是一个概念)打包工具,可以将多个文件打包成一个文件,从而减少网络请求。...避免无效的 404 页面 时间长了,网站越做越大,有些页面原来能访问,后来可能就无法访问404 页面了。...解决的方法是,可以用 Go 语言写一个简单的爬虫工具,定时爬自己的网站,只要 Http 状态码返回 404 就记录下来。然后将 404 列表统一发给后端程序员处理。...当浏览器向服务器第一次请求某网页时,服务器返回一个 HTTP 状态 200,同时返回该页面的上次修改时间,格式如下: Last-Modified: Fri, 12 May 2006 18:53:33...当用户登陆网站时,服务器生成 token、将 token 保存至数据库返回给客户端,客户端在本地保存并在下一次发出网络请求时在报文中带上该 token。

    1.4K21

    .NET Core 3.0】框架之十三 || 部署攻略

    2、WIN_IIS 部署,前后端不同站点 为了能有一个全新的环境,我还特地新买一台服务,要做好部署的准备,就必须要先进行初始操作,也就是先准备好我们用到的原材料: 在服务器开启 IIS 就不多说了,相信每一个...不仅如此,我们也换掉了 IIS ,使用了 netcore 自带的 Kestrel 应用服务器,并且不会出现任何不同步的问题,只要你本地调试好代码, push 到 git 上!...另外还需要安装Nginx, sudo yum install nginx 安装完成后,启用启动Nginx服务: sudo systemctl enable nginx sudo systemctl...2.1、上传文件到 linux 服务器 在 linux 下创建文件夹 BlogCoreAPI mkdir BlogCoreAPI //创建文件夹 用 ftp 把发布的文件全部上传到 BlogCoreAPI...部署: 1、不过如果用 nginx 的话,可以利用 404 页面的机制,将 index.html 页面 copy 一份,重命名成 404.html 即可; 2、如果不想添加一个 404 文件的话 ,就直接修改下

    4.6K30

    Nginx配置实现请求失败图片的统一转发

    ,请给我提供配置 需求理解和方案 您可以尝试使用以下Nginx配置,将无法访问的图片请求转发到本地的/media/avatar/default.png文件: location / { # 所有请求都转发到后端服务器...error_page指令会检查请求的图片是否存在,如果不存在,则将请求转发到本地默认图片/media/avatar/default.png,返回200 OK状态码。...根据您的需求,您可以使用以下Nginx配置,将无法访问的图片请求转发到本地的/media/avatar/default.png文件: location ~ ^/media/avatar/.*/.*\....error_page指令会检查请求的图片是否存在,如果不存在,则将请求转发到本地默认图片/media/avatar/default.png,返回200 OK状态码。...如果文件不存在,则将请求转发到本地默认文件 /media/avatar/default.png 返回200 OK状态码。

    1.3K30

    一文教你学会使用Nginx

    资源消耗低:相比其他Web服务器Nginx占用的系统资源更少,能够在相同硬件上处理更多的请求。 可扩展性:Nginx支持模块的架构,可以通过添加模块来扩展功能,满足不同需求。...当镜像拉取完成后,可以使用以下命令来创建运行一个Nginx容器: docker run --name mynginx -d -p 80:80 nginx 这个命令将创建一个名为mynginx的容器,...Nginx 的正向代理 正向代理是指代理服务器代表客户端向服务器发出请求,然后将服务器的响应返回给客户端。在Nginx中,可以通过配置代理服务器来实现正向代理功能。...这样,当客户端发送请求时,Nginx会将请求转发到backend_server上,并将响应返回给客户端。 Nginx错误页面配置 在nginx中,可以通过配置自定义错误页面来提供更友好的用户体验。...你可以在nginx的配置文件中使用error_page指令来指定不同错误码对应的错误页面,例如: error_page 404 /404.html; error_page 500 502 503 504

    22211

    Vue+Springboot 前后端分离的项目如何部署?

    企业级项目,都应是基于镜像,容器部署的,但运行的原理是一致的。后续方才兄也会补充容器部署的流程。若对你有帮助,记得一键三连哟!...,下面的xxx.jar就是可执行的运行包 部署至linux服务器 将打包好的jar包,使用rz命令上传到 linux服务器中对应的目录中: 方才兄这里假设你已经安装好了mysql数据库,完成了数据库初始操作...而当你在 NGINX 上部署时,服务器的行为和本地开发环境不同。 在 NGINX 中,当你直接访问 /courses 刷新页面时,NGINX 会尝试从服务器的物理路径中找到这个路径对应的文件或目录。...因为这是一个 SPA 项目,实际上不存在 /courses 这样的物理路径,服务器就会返回 404 错误。...添加这行配置后,刷新页面就不会再出现 404 错误了,所有的路由请求都会交由 Vue Router 处理。 OpenResty 配置步骤: 配置后再去刷新子路径,都可以正常访问了。

    29810

    mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、lo

    文章目录前言一、拉取镜像、运行容器1.1 MySQL安装1.2 Redis安装1.3 Nginx安装1.4 RabbitMQ安装1.4.1 安装步骤1.4.2 Web-UI界面无法访问1.5 Elasticsearch...-v /mydata/mysql/data:/var/lib/mysql/:将数据文件夹挂载到主机-e MYSQL_ROOT_PASSWORD=root:初始root用户的密码,可自行设置进入运行MySQL...默认是notcp-keepalive 300 #防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300################################ SNAPSHOTTING...[开启(yes)的话,会消耗一定的cpu资源]rdbcompression yes# 保存rdb文件的时候,进行错误的检查校验rdbchecksum yes# 默认持久保存后的文件名dbfilename...:docker container cp nginx:/etc/nginx /mydata/nginx/修改文件名称:mv nginx conf终止删除容器:docker stop nginxdocker

    46130

    nginx部署配置及本地实践

    正向代理(forward proxy) 是一个位于客户端和目标服务器之间的服务器(代理服务器),为了从目标服务器取得内容,客户端向代理服务器发送一个请求指定目标,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端...流程 客户端向正向代理发送请求;正向代理根据请求的内容和规则,决定是否可以将请求转发到外部网络上;如果可以转发,正向代理将请求转发到目标服务器上;目标服务器接收到请求后,处理请求返回响应;正向代理接收到响应后...1、正向代理其实是客户端的代理,帮助客户端访问其无法访问服务器资源。反向代理则是服务器的代理,帮助服务器做负载均衡,安全防护等。 2、正向代理一般是客户端架设的,比如在自己的机器上安装一个代理软件。...Nginx 开启 gzip,配合 nginx 的 gzip_static 功能可以大大加快页面访问速度。...现在我们启动, 在nginx文件夹中输入cmd start nginx 现在根据我们的服务器和端口去访问,根据我的配置,我应该去访问这个地址 localhost:8085 可以看到加载出来了,刷新,

    78910

    有遇到布署服务器后刷新404问题吗?

    一、如何部署 前后端分离开发模式下,前后端是独立布署的,前端只需要将最后的构建物上传至目标服务器的web容器指定的静态目录下即可 我们知道vue项目在构建后,是生成一系列的静态文件 常规布署我们只需要将这个目录上传至目标服务器即可...// 检查配置是否正确 nginx -t // 平滑重启 nginx -s reload 操作完后就可以在浏览器输入域名进行访问了 当然上面只是提到最简单也是最直接的一种布署方式 什么自动,镜像...我们先还原一下场景: vue项目在本地时运行正常,但部署到服务器中,刷新页面,出现了404错误 先定位一下,HTTP 404 错误意味着链接指向的资源不存在 问题在于为什么不存在?...404错误 解决方案 看到这里我相信大部分同学都能想到怎么解决问题了, 产生问题的本质是因为我们的路由是通过JS来执行视图切换的, 当我们进入到子路由时刷新页面,web容器没有相对应的页面此时会出现404...-s reload 这么做以后,你的服务器就不再返回 404 错误页面,因为对于所有路径都会返回 index.html 文件 为了避免这种情况,你应该在 Vue 应用里面覆盖所有的路由情况,然后在给出一个

    8.1K31

    前端二面vue面试题(边面边更)1

    ,可能是请求失败,也可能是请求获得了服务器响应,但是返回的是错误状态。...404是什么原因呢如何部署前后端分离开发模式下,前后端是独立布署的,前端只需要将最后的构建物上传至目标服务器的web容器指定的静态目录下即可我们知道vue项目在构建后,是生成一系列的静态文件常规布署我们只需要将这个目录上传至目标服务器即可让...我们先还原一下场景:vue项目在本地时运行正常,但部署到服务器中,刷新页面,出现了404错误先定位一下,HTTP 404 错误意味着链接指向的资源不存在问题在于为什么不存在?...404错误解决方案看到这里我相信大部分同学都能想到怎么解决问题了,产生问题的本质是因为我们的路由是通过JS来执行视图切换的,当我们进入到子路由时刷新页面,web容器没有相对应的页面此时会出现404所以我们只需要配置将任意页面都重定向到...-s reload这么做以后,你的服务器就不再返回 404 错误页面,因为对于所有路径都会返回 index.html 文件为了避免这种情况,你应该在 Vue 应用里面覆盖所有的路由情况,然后在给出一个

    94940

    Nginx安装部署之反向代理配置与负载均衡

    说明Angular 项目的打包,部署到虚拟机的Nginx 在本地找了一个angular项目目录下 ng-build,会生一个dist文件夹 键入如下命令:nginx -t nginx -t #查看配置文件路径...错误,我们可以通过查看当前404是哪个服务器包的错,来判断是否发生反向代理 从图中可以看出,此时没有进行反向代理,在虚拟机的服务器上提示404 注:这里说明一点,就是即便发生了法相贷,但是network...中的显示还是我的虚拟机的ip,所以不能当做是否发生反向代理的标注 重新载入Nginx配置 nginx -s reload 刷新刚才的页面,上图:可以发现,已经代理到百度的错误页面上去了。...pull nginx 运行两个nginx容器 docker run --name nginx-test-1 -d -p 8888:80 nginx /bin/bash docker run --name...nginx-test-2 -d -p 8889:80 nginx /bin/bash 分别进入到两个容器中,更改其中nginx web目下的index.html docker exec -it nginx-test

    84810

    Vue+Koa2 前后端分离项目线上部署

    3.2 上传文件修改 Nginx 配置 我这里使用 MobaXterm (顺便安利一下,这软件挺全能的,唯一缺点就是有点卡)将文件上传到服务器,最后的结构就像文章开头那样: 在 /home 路径下有两个如下的项目文件夹...需要改动的就是这里,之后直接把后端项目文件夹上传到服务器即可(node_modules 就不要拖过去了,我们直接在服务器那边安装好),因此最后的结构是这样的: 在 /home 路径下有两个如下的项目文件夹...node 进程,找到进程号 17821,直接 kill 即可: kill -9 17821 5.2 无法访问端口 如果在访问 3000 端口的时候,页面显示无法连接,可能是因为服务器的安全组没有开放...5.3 Uuexpected token < / MIME 类型错误 这两个报错都是因为数据返回格式不对。...前面我们在 Nginx 的文件里配置过 try_files —— 如果找不到入口文件,就会使用 fallback,返回一个默认的 index.html(或者是 404.html),但是因为向服务端请求的是

    2.5K30

    csxiaoyao.com整站第二次迁移记录

    配置nginx和https Step1: 腾讯云官网申请免费1年证书 Step2: 下载证书文件,拷贝nginx目录下的cert和pem密匙文件到服务器nginx目录下,如/etc/nginx/cert...配置 $ sudo service nginx reload 3. docker构建wordpress博客 迁移过程中如果重新搭建服务器环境会比较麻烦,而且在站点服务器运行过程中难免涉及到系统环境的升级...初始root用户密码 # --name 容器命名 # -d 容器后台运行 # mysql:5.7 image名 Run $ docker run -p 53306:3306 -v $PWD/mysql...MYSQL_ROOT_PASSWORD=19931128 --name mysql-wp -d mysql:5.7 Step3: docker exec 从终端进入mysql服务 参数说明: # -t docker分配伪终端,绑定到容器的标准输入上...wordpress文件夹到当前目录下的wordpress文件夹($PWD/wordpress),修改wordpress数据库连接配置文件wp-config.php define('DB_USER',

    1.3K343

    如何处理WordPress网站404状态死链

    什么是404状态码? 每当访客访浏览你的网站时,浏览器就会向Web服务器发送请求,接收包括HTTP标头的数据。HTTP标头包含HTTP状态代码,用于解释请求“发生了什么”。...这不仅是文章或页面,任何网站数据丢失都可能在服务器上产生404错误,例如图像文件丢失,JavaScript丢失,CSS丢失等。 是什么导致404报错产生?...Google浏览器的404报错通知页面 404报错通知页面还可能是个性的,因为许多站点实际上会创建一个自定义404错误页面,而不是显示上面的消息之一。...但如果你在使用/%post_id%.html格式作为固定链接时发生链接无法访问,可以尝试手动配置Nginx或者Apache,配置参考如下: Nginx伪静态配置 一般目录为/usr/local/nginx...宝塔面板301跳转重定向设置 (3)Nginx或者Apache配置301重定向 当然,如果你对插件设置301重定向,又或者不使用宝塔面板管理服务器,你还可以直接修改Nginx或者APache配置文件来实现

    4.8K10

    nginx https配置后无法访问,可能防火墙在捣鬼

    同事发现nginx配置后https 无法访问,我帮忙解决的时候从以下出发点 1.防火墙未开放443端口 2.配置出错 1 2 3 于是就 netstat -anp 查看防火墙开的端口 发现已经在监听了...检查配置没问题,重新生成证书等方法也还是无法访问,甚至在别的机器上https的配置copy过来依然无法访问 冷静下来想想,nginx都没有返回状态吗,直接无法连接。这到底请求到了吗?...iptables帮助文档里面有一下说明This is used to send back an error packet in response to the matched packet 就是表明拒绝你,返回一个错误连接信息...请求没到nginx那,肯定没有状态码返回,同时你的浏览器返回的只能是无法连接。 总结 被netstat -anp 出来的内容欺骗了,规则是添加了,但是没起效果。...如果返回404,403等等,那说明是nginx的配置等因素; 如果无法连接,通常是防火墙,或者nginx为启动等可能的因素; 冷静分析问题,查看错误信息,才是解决问题的办法,万万不能try stuff

    2.7K10

    tomcat结合nginx使用小结

    摘一段百度百科上的描述: Html代码   反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给...反向代理方式实际上就是一台负责转发的代理服务器,貌似充当了真正服务器的功能,但实际上并不是,代理服务器只是充当了转发的作用,并且从真正的服务器那里取得返回的数据。...2)我们可以看到nginx文件夹内有一个conf文件夹,其中有好几个文件,其他先不管,我们打开nginx.conf,可以看到一段: 这段代码在server里面,相当于一个代理服务器,当然可以配置多个...我们直接运行: Html代码   nginx -s reload   高兴得太早了,我们发现有一个错误: 什么来的,45行发现错误,不希望在那一行找到},于是我们仔细找,发现我们加入的proxy_pass...然后我们再来看看http://localhost 当我们不指定jsp页面的时候,它会出现找不到,因为,此时并没有相应的location匹配,所以就会有404错误,这时就跳到了nginx自定义的error

    1.1K70

    Nginx实现网站80端口和FRP共存

    今日在阿里云服务器研究frp,因为备案了,所以打算实现将frp中的http端口改成80端口,但是服务器已经搭建有其他网站把80端口,于是打算通过nginx实现共用80端口。...---- 问题遗留: 但是想把frp默认的错误页面改成自定义的页面,拦截了404等报错到自定义的页面,虽然实现了,但是有个问题一直不知道怎么解决。...就是改了之后浏览器一直重定向到错误页面,导致无法访问页面,nginx日志也打印了很多重定向报错,估计是某个地方没设置对- -先粘贴出来看看有没有大佬解决,哈啊哈。...页面错误如下: 后台日志错误如下: 我配置的nginx如下: server { listen 80; server_name *.frp.51it.wang; # 错误页配置...error_page 404 404.html; location = /404.html { root /home/www; } #拦截转发

    1.2K10

    从零开始 - Docker部署前后端分离项目(三)

    这个static文件夹后续需要复制到nginx_docker文件夹中。 4、配置文件 django项目目录下新建logs文件夹,存放后续配置运行的日志。.../entrypoint.sh"] 五、nginx_docker静态资源准备 讲上文中django打包好的static文件夹复制到nginx_docker文件夹中。...1、前端部署-前端vue项目 前端中所有用到后端的接口,都需要改成对应部署所在的服务器地址,如上文的192.168.111.111 打包前端项目打包的时候一定要修改host,打包完成之后,将dist文件夹拷贝到...nginx_docker文件夹中。...2、部署完成 下篇内容: 1、start.sh一键自动部署脚本的编写。 2、如何删除已构建的docker项目,再次快速部署。

    1.9K10
    领券