nginx負載均衡基礎配置引數

2021-10-24 05:08:21 字數 2495 閱讀 9456

context: upstream

◇ backup:熱備伺服器,當其他所有伺服器不能訪問時,自動啟用。

◇ down:當前的server不可用。

◇ weight=number:加權輪詢,設定伺服器的權重,其值越大分配到的訪問越多,預設為1。

◇ max_conns=number

▪ 限制同時活動連線的最大數量,預設值為零,表示沒有限制。注意每乙個請求都算活動連線,如果網頁完全出來需要10個請求,那麼此處配置2,只會有兩個請求成功,其餘請求返回502。

◇ fail_timeout=time:

▪ 定義和伺服器的通訊失敗嘗試重連的時間範圍,如果在這個時間範圍內失敗超過次數,則接下來這個時間段裡伺服器被當作不可用。

◇ max_fails=number:

▪ 定義在被fail_timeout引數定義的時間內和伺服器通訊失敗最大可嘗試的次數。預設值為1,適用於下面;配置為0,表示不限制失敗可嘗試次數。

▪ 通俗點說,當沒有配置fail_timeout時,如果此值設定為2,那麼預設在10秒內連線失敗兩次,則隨後10秒伺服器不可用(即便服務在不可用的時間段裡恢復了正常),10秒後才會去嘗試連線伺服器是否可用,如果不可用,那麼只會允許失敗一次,然後繼續10秒時間不可用。

▪ 如果配置了fail_timeout=30,此值設定為2,那麼在30秒內連線失敗兩次,則隨後30秒伺服器不可用(即便服務在不可用的時間段裡恢復了正常),30秒後才會去嘗試連線伺服器是否可用,如果不可用,那麼只會允許失敗一次,然後繼續30秒時間不可用。

▪ 值得注意的是在上面30秒內,如果失敗一次,服務恢復正常,在離上次失敗還沒有30秒間隔再出現一次失敗,也會算做30秒內失敗兩次,導致隨後30秒伺服器算做不可用。

排程演算法

含義輪詢

每個請求按照時間順序輪流分配到不同的後端伺服器(預設)。

weight

加權輪詢,設定伺服器的權重,其值越大分配到的訪問越多,weight值和訪問率成正比,預設為1。

ip_hash

每個請求按照訪問ip的hash結果分配,使得來自同一ip的客戶端固定訪問乙個後端伺服器。

least_conn

優先分配請求給活動連線數最少的伺服器。

url_hash

每個請求按照訪問url的hash結果來分配,使得相同的url固定訪問到乙個後端伺服器。主要應用於快取場景,以提高快取命中率。nginx原生不支援,第三方。

fair

公平地按照後端伺服器的響應時間分配請求,響應時間越短的後端伺服器優先分配請求。nginx原生不支援,第三方。

在執行過程中,後端節點難免會因為某些原因,不能正確響應使用者請求,而是返回狀態碼,例如網路連線超時,後端伺服器超時或者過載等。當出現這些情況,那我們要如何避免返回狀態碼,而是將請求轉移到另乙個節點,以提高使用者的體驗感。

要知道按照nginx本身機制,只有伺服器服務宕機了連線失敗,負載均衡才會將這台節點上的請求轉移到其它節點。如果伺服器服務執行正常,那麼該返回什麼狀態碼就會返回什麼狀態碼。所以對此我們可以配置下面配置來解決這個問題。

error:連線錯誤

timeout:連線超時

http_*:狀態碼示例:

[root@lb01 ~]

# vim /etc/nginx/conf.d/proxy_wordpress.conf

upstream wordpress

server

}

upstream backend     

//總體來說,當有7個請求,其中5個分配給backend1.example.com;backend2.example.com:8080分配乙個,且當**伺服器和此伺服器在5秒內連線失敗3次,隨後五秒此伺服器算做不可用;192.0.2.1伺服器分配乙個,且當**伺服器和此伺服器在10秒內連線失敗3次,隨後10秒此伺服器算做不可用。backup3.example.com伺服器不參與負載均衡,backup4.example.com伺服器做為熱備伺服器,當其他所有伺服器不能訪問時,自動啟用。

server

}

nginx負載均衡配置

curl nginx upstream fair.zip unzip nginx upstream fair.zip cd nginx 1.6.2 檢視當前nginx 編譯引數 nginx v 輸出 configure arguments prefix usr local nginx configu...

Nginx負載均衡配置

負載均衡是我們大流量 要做的乙個東西,下面我來給大家介紹在nginx伺服器上進行負載均衡配置方法,希望對有需要的同學有所幫助哦。負載均衡 先來簡單了解一下什麼是負載均衡,單從字面上的意思來理解就可以解釋n臺伺服器平均分擔負載,不會因為某台伺服器負載高宕機而某台伺服器閒置的情況。那麼負載均衡的前提就是...

Nginx負載均衡配置

nginx安裝請參考 nginx原始碼安裝 nginx負載均衡是通過upstream模組來實現的,內建實現了三種負載策略,配置還是比較簡單的。官網負載均衡配置說明 省略其它配置 根據伺服器的響應時間來分配請求,響應時間短的優先分配,即負載壓力小的優先會分配。由於fair模組是第三方提供的,所以在編譯...