Nginx部署項目,轉發規則,負載均衡配置


一. Nignx代理(轉發)規則

1.規則一(轉發路徑proxy_pass + path

  • 判斷規則:當location中定義的轉發proxy_pass路徑減去 協議 ip 端口沒有其它內容(不包括斜杠),適用當前規則

  • 路徑拼接規則
    • 轉發路徑就是 proxy_pass + path

  • 舉例1
    #1.Nginx配置如下
    
    location / {
    	proxy_pass   http://127.0.0.1:8080; #此時適應減法規則 proxy_pass + path
    }
    
    #2.用戶訪問http://127.0.0.1/payment 
    
    	path = http://127.0.0.1/payment 減去協議 ip 端口 = /payment
        proxy_pass = http://127.0.0.1:8080
        
    #3. 最終訪問路徑:http://127.0.0.1:8080/payment
  • 舉例2
    #1.Nginx配置如下
    
    location /hello {
    	proxy_pass   http://127.0.0.1:7071; #此時適應減法規則 proxy_pass + path
    }
    
    #2.用戶訪問http://127.0.0.1/hello/sentinel 
    
    	path = http://127.0.0.1/sentinel 減去協議 ip 端口 = /hello/payment
        proxy_pass = http://127.0.0.1:7071
        
    #3. 最終訪問路徑:http://127.0.0.1:7071/hello/sentinel

2.規則二(轉發路徑proxy_pass + (path-location)

  • 判斷規則:當location中定義的轉發proxy_pass路徑減去 協議 ip 端口其它內容(包括斜杠),適用當前規則

  • 路徑拼接規則
    • 轉發路徑就是 proxy_pass + (path-location)
  • 舉例1
    #1.Nginx配置如下
    
    location / {
    	proxy_pass   http://127.0.0.1:8080/; #此時適應減法規則 proxy_pass + (path-location)
    }
    
    #2.用戶訪問http://127.0.0.1/payment 
    
    	path = http://127.0.0.1/payment 減去協議 ip 端口 = /payment
        location = /
        path-location = payment
        proxy_pass = http://127.0.0.1:8080/
        
    #3. 最終訪問路徑:http://127.0.0.1:8080/payment
  • 舉例2
    #1.Nginx配置如下
    
    location /hello {
    	proxy_pass   http://127.0.0.1:7071/; #此時適應減法規則 proxy_pass + (path-location)
    }
    
    #2.用戶訪問http://127.0.0.1/hello/sentinel 
    
    	path = http://127.0.0.1/sentinel 減去協議 ip 端口 = /hello/payment
        location = /hello
        path-location = /sentinel
        proxy_pass = http://127.0.0.1:7071/
        
    #3. 最終訪問路徑:http://127.0.0.1:7071/sentinel

二. 部署項目,解決跨域問題

1. 准備三台Linux服務器, 能互相通信

服務器Ip假設如下

  • 服務器A : 192.172.3.1
  • 服務器B : 192.172.3.2
  • 服務器C : 192.172.3.4

2. 打包java服務器項目和vue前段項目

  • 服務器A部署java服務器項目
  • 服務器B作為橋梁連接服務器A和服務器B
  • 服務器c部署Vue前段項目

3. 啟動Java服務器項目, 端口80

4. 修改配置文件

  • 修改Vue前段項目的請求路徑
    #請求路徑修改為服務器B的路徑
    axios.defaults.baseURL = "http://192.172.3.2/demo/"
  • 在服務器c的Nginx中部署Vue前段項目
  • 修改服務器c - Nginx的配置文件
    #配置默認訪問路徑
    location / {
    	root   dist; #vue項目打包后的文件名
    	index  index.html index.htm;
    }
  • 修改服務器B - Nginx的配置文件
    server {
            listen       80;
            server_name  localhost;
    
    	 location / { #vue項目
    	    proxy_pass http://192.172.3.3;
         }
    
         location /demo { #springboot服務
    	    proxy_pass http://192.172.3.1/; #此處端口如果不算80,需要帶上端口
         }
      }

5. 訪問項目 192.172.3.2

三. 解決服務端負載均衡

#1.編輯nginx.conf文件

#2.在http節點里添加:定義負載均衡設備的 ip及設備狀態
upstream myServer{//要代理的服務器
	server 192.168.254.131:8080;
	server 192.168.254.131:8088;
}
server{
	listen 80;  //nginx服務器訪問端口
	server_name localhost;  //nginx服務器地址
	
    #3.轉發路徑處填寫前面定義的設備組
	location / {
		proxy_pass http://myServer/;//nginx代理的服務器地址
	}
}


免責聲明!

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



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