使用 nginx 同域名下部署多個 vue(iview-admin) 項目, 主要是實現公網IP不足的情況
參考地址:https://segmentfault.com/a/1190000018319774
項目配置
修改vue.config.js中的文件
baseUrl

修改router文件夾下的index.js

npm run build
nginx 配置
nginx文件結構
├─conf │ ├─... # 其他文件 │ └─nginx.conf │ ├─html # 只看這里,其他暫時我沒用到 │ ├─Enterprise │ │ └─static │ │ ├─css │ │ ├─fonts │ │ └─js │ │ ├─g │ │ └─V │ ├─Utility │ │ └─static │ │ ├─css │ │ ├─fonts │ │ └─js │ │ ├─g │ │ └─V │ ├─index.html │ └─50x.html └─... # 其他文件
在nginx的html文件夾中新建自己的項目文件夾
項目中修改的項目名稱保持一致

將打包好的dist文件中的內容放進去

修改conf文件夾中的nginx.conf文件
添加sever
server {
listen 9000;
server_name 192.168.199.171;
charset utf-8;
proxy_connect_timeout 180;
proxy_send_timeout 180;
proxy_read_timeout 180;
proxy_set_header Host $host;
proxy_set_header X-Forwarder-For $remote_addr;
root html; # 這里指定剛剛我們的文件夾
# 總的項目路由,我偷懶直接寫在了同一個文件
# 如果有很多可以在配置多個 conf 文件,使用 include 關聯進來
location / {
try_files $uri $uri/ /index.html; # 這里可以理解指定到 html 文件夾下的 index.html
}
# Utility
# 這里就是剛剛我們在 vue 項目中 vue.config.js 的配置 BASE_URL,
# 也是 vue 項目中配置的 router 中的 base
location ^~ /Utility {
try_files $uri $uri/ /Utility/index.html;# 這里可以理解指定到 html 文件夾下 project1 文件夾 的 index.html
}
# Enterprise
# 這里是項目二的配置
location ^~ /Enterprise {
try_files $uri $uri/ /Enterprise/index.html;# 這里可以理解指定到 html 文件夾下 project1 文件夾 的 index.html
}
}

