nginx部署vue前端项目,访问报错500 Internal Server Error

前言

描述:当我配置好全部之后,通过 服务器 ip 地址访问,遇到报错信息:500 Internal Server Error

情况说明

前提:我是通过Docker启动nginx容器,通过-v 绑定数据卷,将html文件和nginx.conf通过挂载的方式启动。

我将vue项目打包放在 html路径下。通过启动命令启动nginx容器,命令如下所示:

shell 复制代码
docker run -d --privileged=true --name nginx -v /mydata/nginx/html:/usr/share/nginx/html -v /mydata/nginx/nginx.conf:/etc/nginx/nginx.conf -p 80:80 nginx

一、展示配置

1.1 nginx.conf
shell 复制代码
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;
		charset utf-8;

		location / {
            root   /usr/share/nginx/html;
	    	try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
		


     	error_page   500 502 503 504  /50x.html;
    	location = /50x.html {
            root   html;
        }
    }
}
1.2 详细解释
shell 复制代码
		location / {
            root   /usr/share/nginx/html;

/usr/share/nginx/html:对应的路径应该是docker内部映射的html所在的文件路径,而不是主机上的html所在路径。

总结

至于为什么会出现标题上面的报错,是因为我把配置文件内的 root 对应的路径写错了。所以在我排查的过程中,一直觉得很奇怪,明明html路径也有,容器启动正常,就是访问不到。花费了一些时间。

  • 知识归纳:
  • 在这个实验中,我意识到nginx.conf这个文件针对的是容器内部才有效,而不是看着容器外面的路径。
相关推荐
excel10 小时前
为什么在 Three.js 中平面能产生“起伏效果”?
前端
excel11 小时前
Node.js 断言与测试框架示例对比
前端
天蓝色的鱼鱼13 小时前
前端开发者的组件设计之痛:为什么我的组件总是难以维护?
前端·react.js
codingandsleeping13 小时前
使用orval自动拉取swagger文档并生成ts接口
前端·javascript
石金龙13 小时前
[译] Composition in CSS
前端·css
白水清风14 小时前
微前端学习记录(qiankun、wujie、micro-app)
前端·javascript·前端工程化
Ticnix14 小时前
函数封装实现Echarts多表渲染/叠加渲染
前端·echarts
用户221520442780014 小时前
new、原型和原型链浅析
前端·javascript
阿星做前端14 小时前
coze源码解读: space develop 页面
前端·javascript
叫我小窝吧14 小时前
Promise 的使用
前端·javascript