Docker 搭建 Nginx 及部署 静态vue项目 以及 映射静态资源

一、Docker 搭建 Nginx 

参考

https://www.cnblogs.com/mangoubiubiu/p/16796373.html

二、部署 静态vue项目

1、将你打好的包上传至服务器 

2、修改nginx配置 

           #管理台
               location ~ /{
                root /apps/web/zeal-admin/dist;
                try_files $uri $uri/ /index.html;
                index  index.html index.htm;
               }

3、访问链接 http://192.168.56.15/index

你以为这就完事了? 不对  这个时候你会很惊喜的发现 报 404

为什么会报404?

静态vue 项目 虽然放到了宿主机的目录 , 但是容器里面这个目录有吗 ? nginx配置  root /apps/web/zeal-admin/dist; 是映射的容器里面的文件路径,你又没有配数据卷映射  容器里面当然没有这个路径

4、配置数据卷映射 映射静态 vue项目

docker run -p 80:80 --name nginx \
 -v /apps/docker/nginx/html:/usr/share/nginx/html \
 -v /apps/docker/nginx/logs:/var/log/nginx \
 -v /apps/docker/nginx/conf:/etc/nginx \
 -v /apps/web/images:/apps/web/images \
  -v /apps/web/zeal-admin:/apps/web/zeal-admin \
 -d nginx:1.10

再次访问   http://192.168.56.15/index

注意 如果你的 css等样式没有加载  要在http块那里配上以下2个配置

 include /etc/nginx/mime.types;

default_type application/octet-stream;

三、映射静态资源

如果静态资源和vue项目 在一台nginx上同时代理 建议静态资源和 vue项目 各用一个端口,为什么要各用一个端口 因为如果vue项目是管理台这种的话  没有登录情况访问任意地址就被转发到了登录页  静态资源就访问不到了

1、将你的静态资源包上传至服务器 

略过

2、修改nginx配置 

复制代码
server {
            #监听的端口,这里为80
                listen       8078;
                #server_name就是域名,
                server_name  localhost;
              #静态资源
              location ~ /images/{
               root /apps/web/;
               autoindex on; #列出images目录
              }

        }
复制代码

3、访问链接 http://192.168.56.15:8078/images/

这时候你会发现 报错了

无法访问此网站

192.168.56.15 拒绝了我们的连接请求。

 为什么呢 ? 因为docker 要配端口映射

docker run -p 80:80 -p 8078:8078 --restart=always --name nginx \
 -v /apps/docker/nginx/html:/usr/share/nginx/html \
 -v /apps/docker/nginx/logs:/var/log/nginx \
 -v /apps/docker/nginx/conf:/etc/nginx \
 -v /apps/web/images:/apps/web/images \
  -v /apps/web/zeal-admin:/apps/web/zeal-admin \
 -d nginx:1.10

 SUCCESS !!!!!

四、注意:每次修改Nginx配置 要重启容器 

docker stop 容器id前三位   停掉容器

docker rm 容器id前三位      移除容器

docker start 容器id前三位    启动容器

docker restart 容器id前三位  重启容器

 

 

 

 

本文作者:KwFruit

本文链接:https://www.cnblogs.com/mangoubiubiu/p/17084471.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   KwFruit  阅读(1005)  评论(0编辑  收藏  举报
历史上的今天:
2021-02-01 持续集成CD入门篇(七 完结) 实现持续交付和持续部署
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起