Nginx能夠設定代理多台伺服器。當一台伺服器宕機之後。仍能保持系統可用。下面聊聊常用的一些設定項。
upstream設定:
#在http設定下增加upstream設定即可:
upstream nodes { server 192.168.10.1:8668; server 192.168.10.2:8668; }
upstream對配置的上游伺服器依照預設的輪詢方式進行請求。如果上游伺服器掛掉,能自行主動剔除,無需手動介入。這種方式簡單又快速。但是如果上游伺服器在配置不均衡的情況下,是解決不了的。所以nginx有其他很多的設定項。下面就一一介紹一下。
權重配置:
weight和請求數量成正比,主要用於上游伺服器配置不均衡的情況。下面的配置中,192.168.10.2機器的請求量是192.168.10.1機器請求量的2倍。
upstream nodes { server 192.168.10.1:8668 weight=5; server 192.168.10.2:8668 weight=10; }
ip_hash設定:
#每一個請求依照請求的ip的hash結果分配。這樣每一個請求都固定落在一個上游伺服器,能夠解決ip會話在同一台伺服器的問題。
upstream nodes { ip_hash; server 192.168.10.1:8668; server 192.168.10.2:8668; }
fair設定:
按上游伺服器的回應時間來指派請求。響應時間短的優先分配。
upstream nodes { server 192.168.10.1:8668; server 192.168.10.2:8668; fair; }
url_hash配置:
依照存取的url的hash結果來分配請求,使每一個url定向到同一個上游伺服器。注意:在upstream中加入hash語句。 server語句中不能寫入weight等其他的參數,hash_method是使用的hash演算法。
upstream nodes { server 192.168.10.1:8668; server 192.168.10.2:8668; hash $request_uri; hash_method crc32; }
down:表示目前的server不參與負載平衡。
max_fails :請求失敗的次數預設為1。
fail_timeout : max_fails次失敗後,暫停請求此伺服器的時間。
backup: 其他全部的非backup機器down或忙碌的時候,請求backup機器。所以這台機器壓力會最輕。
更多Nginx相關技術文章,請造訪Nginx使用教學欄位進行學習!
以上是nginx負載平衡參數有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!