Docker
nginx转发docker部署的vue项目
nginx转发 docker部署的vue项目
上一篇跟大家分享了自动化部署vue项目,最终我们是服务器8083端口映射我们vue项目容器80端口,今天跟大家分享如何通过服务器的Nginx去转发我们的这个vue项目,同时针对我们的vue项目路由使用history模式,如何做修改。如果我们的vue项目路由使用history模式的话,访问其他页面会一直跳到首页,这时候需要针对镜像的nginx配置进行修改,修改如下
一、新增nginx配置文件
我们在vue项目下新增default.conf文件,配置如下
server { listen 80; server_name localhost; location / { try_files $uri $uri/ /index.html; root /usr/share/nginx/html; index index.html index.htm; } # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
二、修改Dockerfile镜像打包文件
我们修改vue项目下Dockerfile文件,我们将上一步nginx配置文件映射到nginx镜像配置文件,配置如下
FROM nginx:1.15-alpine COPY ./dist /usr/share/nginx/html COPY default.conf /etc/nginx/conf.d/default.conf
到这一步,我们就实现了vue项目路由使用history模式下,nginx访问
三、服务器nginx转发docker部署的vue项目
我是通过服务器安装的nginx进行docker部署的vue项目,修改服务器的nginx配置文件,新增这一段配置
server { listen 80; server_name vue.test.cn; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://127.0.0.1:8083; } }
添加完成后热加载nginx
nginx -s reload
然后我们就可以通过vue.test.cn进行访问我们的vue项目。
0条评论