Nginx配置多個服務共用80端口


對於Web而已,80端口和443端口是十分重要的,原則上需要輸入http://domain.com:80才可以瀏覽網頁的,但由於默認端口是80,所以‘:80’可以忽略。同理對於https的443端口也一樣。

隨着服務器性能的提升和業務的需求,一台服務器上往往會同時有多個服務,這些服務都希望監聽80端口,比如有vue.msg.com和react.msg.com。這時候我們可以使用nginx的代理轉發功能幫我們實現共用80端口的需求。


 
http

首先我們先在兩個空閑的端口上分別部署項目(非80,假設是8080和8081),nginx.conf配置如下:

$ vim /ect/nginx/nginx.conf
// nginx.conf # vue項目配置 server { listen 8080; root /web/vue-base-demo/dist/; index index.html; location / { try_files $uri $uri/ /index.html; # 路由模式history的修改 } } # react項目配置 server { listen 8081; root /web/react-base-demo/build; index index.html; location / {} } 

上面就是常規的配置,緊接着如果已經做好域名解析,希望vue.msg.com打開vue項目,react.msg.com打開react項目。我們需要再做兩個代理,如下:

// nginx.conf # nginx 80端口配置 (監聽vue二級域名) server { listen 80; server_name vue.msg.com; location / { proxy_pass http://localhost:8080; # 轉發 } } # nginx 80端口配置 (監聽react二級域名) server { listen 80; server_name react.msg.com; location / { proxy_pass http://localhost:8081; # 轉發 } } 

nginx如果檢測到vue.msg.com的請求,將原樣轉發請求到本機的8080端口,如果檢測到的是react.msg.com請求,也會將請求轉發到8081端口。

這樣nginx對外就有四個服務,我們只需要公布80端口的就可以了,這樣就實現了多個服務共用80端口。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM