首頁  >  文章  >  運維  >  如何配置nginx作為負載平衡

如何配置nginx作為負載平衡

(*-*)浩
(*-*)浩原創
2019-11-20 09:53:389197瀏覽

如何配置nginx作為負載平衡

 一、負載平衡的功能

1、轉送功能                      #                時# ##)依照一定的演算法【權重、輪詢】,將客戶端請求轉送到不同應用伺服器上,減輕單一伺服器壓力,提高系統並發量。

2、故障移除

透過心跳偵測的方式,判斷應用程式伺服器目前是否可以正常運作,如果伺服器期宕掉,自動將請求傳送到其他應用伺服器。

3、恢復新增

如偵測到發生故障的應用程式伺服器復原工作,自動將其新增至處理使用者請求隊伍中。

如何配置nginx作為負載平衡

二、Nginx實現負載平衡

#同樣使用兩個tomcat模擬兩台應用伺服器,連接埠號碼分別為8080 和8081

1、Nginx的負載分發策略


#Nginx 的upstream目前支援的分配演算法: 


#1)、輪詢-1:1 輪流處理請求(預設)

每個請求按時間順序逐一分配到不同的應用伺服器,如果應用伺服器down掉,自動剔除,剩下的繼續輪詢。


2)、權重-you can you up

透過設定權重,指定輪詢幾率,權重和存取比率成正比,用於應用伺服器效能不均的情況。 

3)、ip_雜湊演算法

每個請求按存取ip的hash結果分配,這樣每位訪客固定存取一個應用伺服器,可以解決session共享的問題。

2、設定Nginx的負載平衡與分發策略


# 透過在upstream參數中新增的應用程式伺服器IP後新增指定參數即可實現

,如:

upstream tomcatserver1 {  
    server 192.168.72.49:8080 weight=3;  
    server 192.168.72.49:8081;  
    }   
  
 server {  
        listen       80;  
        server_name  8080.max.com;  
        #charset koi8-r;  
        #access_log  logs/host.access.log  main;  
        location / {  
            proxy_pass   http://tomcatserver1;  
            index  index.html index.htm;  
        }  
     }

透過以上配置,便可以實現,在訪問8080.max.com這個網站時,由於配置了proxy_pass位址,所有請求都會先透過nginx反向代理伺服器,當伺服器將請求轉送給目的主機時,讀取upstream為tomcatsever1的位址,讀取分發策略,設定tomcat1權重為3,所以nginx會將大部分請求傳送給49伺服器上的tomcat1,也就是8080連接埠;較少部分給tomcat2來實現有條件的負載平衡,當然這個條件就是伺服器1、2的硬體指數處理請求能力。 

以上是如何配置nginx作為負載平衡的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn