1. 程式人生 > >nginx中upstream模塊的簡單示例

nginx中upstream模塊的簡單示例

兩臺 但是 主機 不可用 服務 server 模塊 檢測 實現

本文所指的upstream是nginx的http模塊中的內容
對nginx來說,upstream可以在nginx上將後端服務器定義為服務器組,將不同後端不同的服務器劃分為不同的組,再經過不同組內的調度算法實現負載均衡。和緩存設置類似,upstream需要先在http下定義,再被調用,方可正常使用。
示例:

http {
……
upstream webserver { #定義名為webserver的組
    server 192.168.1.111:80;
        server 192.168.1.222:80; #將後端兩臺主機定義到webserver組內

}

以上其實就已經將一個 upstream組定義完成了,定能實現組調度功能了,但是還比較粗糙,在其中還能更精細化的定義其他功能參數:

weight=number; #定義組內各主機的權重
max_conns=number; #定義最大連接數
max_fails=number; #定義健康狀態監測,檢測最大number數若依然失敗,則判斷為服務器不可用了。
fail_timeout=time; #定義健康狀態檢測,檢測失敗的超時時長,若在設定時間內依然諒解失敗,則判斷服務器不可用了
backup; #設定當所有組內server都不可用時,將所有請求跳轉至backup標記的server。
down; #手動將serverdown掉,例行維護是會使用到。
ip_hash #基於源IP進行hash算法調度,算法較粗糙,會與back_up沖突

nginx中upstream模塊的簡單示例