nginx部署多個vue項目的方法示例
上一篇已經介紹了然后配置web項目;今天由于公司需求,需要在同一域名端口下,部署兩個項目;今天花了一上午終于弄好了,選擇趕緊做一個筆記。
如何連接阿里云服務器就不在這里說了,請看我以前的文章。
首先需要的效果
http://47.97.244.83/login
http://47.97.244.83/student/login
文件目錄
兩個項目并列在同一文件夾內。
準備好兩個vue的項目
http://47.97.244.83/login:這個不用修改配置直接build就可以。關鍵是二級域名的vue項目,需要進行一下修改。
首先在config文件夾內的index.js內修改(注意是build內)
// nginx 配置 assetsPublicPath: '/student/',
這樣確保生產出來的文件,在index.html中都是在student下。
index.html文件修改
添加 <meta base=/student/ >
最后build的index.html文件如下:
<!DOCTYPE html> <html> <head> <meta base=/student/ > <meta charset=utf-8> <meta http-equiv=X-UA-Compatible content="IE=edge"> <meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=./favicon.ico> <title>礪行教育管理系統(tǒng)</title> <link href=/student/static/css/app.26c5efbf7403094b0b351615f215dca8.css rel=stylesheet> </head> <body> <noscript><strong>對比起程序報錯了</strong></noscript> <div id=app></div> <script type=text/javascript src=/student/static/js/manifest.c07ff685ddc74bf39577.js></script> <script type=text/javascript src=/student/static/js/vendor.63945df20397482ff39e.js></script> <script type=text/javascript src=/student/static/js/app.39f0baab8f580b8d4bc2.js></script> </body> </html>
在src/router/index.js文件修改
添加 base: ‘/student/',
Nginx配置修改
server { listen 80; server_name localhost; # root /usr/local/sixiucheng/codes; location / { root /usr/local/sixiucheng/codes/dist; try_files $uri $uri/ @router; index index.html index.htm; } location /student { alias /usr/local/sixiucheng/codes/student/; try_files $uri $uri/ /student/index.html; index index.html index.htm; } location @router { rewrite ^.*$ /index.html last; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
注意這里的root
一個是全局的一個單個引入,這里需要注意一下當注釋掉全局的root時候,需要在二級配置下將root改為alias;如下圖
所以此時的配置為
最后一定要注意重啟?。?!
nginx -s reload
注意:如果80端口失敗
1.檢查下nginx配置,使用nginx -t 看看有無錯誤信息
2.檢查本地防火墻是否開啟80
3.如果是云主機,檢查安全組是否開放80權限。
題外話
01…剛開始將alias寫成root,導致html頁面中的css和js一直404;后來百度到加下面一句話,就可以解決問題;但是這樣會將所有的js,css引入的位置修改。這里注意一下。
# 解決css,js引入失敗 location ~ .*\.(jpg|jpeg|gif|png|ico|css|js|pdf|txt)$ { root /usr/local/sixiucheng/codes; proxy_temp_path /usr/local/sixiucheng/codes; }
02…網上還有alias的路徑指向,root和alias的區(qū)別在于(個人理解,出錯希望點出):
location /file/{ alias /var/html/file; #這個查找文件的路徑直接是/var/html/file } location /file/{ root /var/html/file; #這個查找文件的路徑應該是/var/html/file/file }
到此這篇關于nginx部署多個vue項目的方法示例的文章就介紹到這了,更多相關nginx部署多個vue項目內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue1.0和vue2.0的watch監(jiān)聽事件寫法詳解
今天小編就為大家分享一篇vue1.0和vue2.0的watch監(jiān)聽事件寫法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09