nginx转发 docker部署的vue项目

docker部署的vue项目,可以 ip:端口访问
想实现 ip/项目名 这种访问形式
ip:192.168.2.232
端口:9010
项目名:recruit
1.docker部署vue
Dockerfile

FROM nginx
ADD default.conf  /etc/nginx/conf.d/
COPY dist/ /usr/share/nginx/html/recruit

default.conf

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;


    location /recruit {
        root   /usr/share/nginx/html/;
        index  index.html index.htm;
    }

    #dsfsa    error_page  404              /404.html;

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

}

vue项目中,在根目录添加一个vue.conf.js,有的就不用加了

module.exports = {
    publicPath: '/recruit'
}

这个publicPath,就是部署访问的路径,这个路径,和dockerfile中 COPY后面的目录一样,也和nginx配置中default.conf 监听的一样。

我使用的是gitlab-runner实现自动部署,或者打成镜像后, 运行时 -p 9010:80
因为nginx内部是监听的80端口,外部访问9010端口

docker跑起来之后,首先确保 ip:端口/项目名,我这个就是 192.168.2.232:9010/recruit能够访问,我这个就出现了304,后来把router中的routes 这个path去掉了(开发时访问的路径)。

然后就是外部nginx配置了

  location /recruit {
        proxy_pass http://192.168.2.232:9010/recruit;
   }

这样就可以了,首先一定要确保这个路径是能访问的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值