ngx_http_upstream_module用於將多個伺服器定義成伺服器組,而由proxy_pass,fastcgi_pass等指令引用 (1)upstream name {...} 定義一個後端伺服器組,name為組名,只能用於http上下文中 (2) server address [para ...
ngx_http_upstream_module用於將多個伺服器定義成伺服器組,而由proxy_pass,fastcgi_pass等指令引用
(1)upstream name {...} 定義一個後端伺服器組,name為組名,只能用於http上下文中
(2) server address [parametrs] 在upstream中定義一個伺服器及其相關參數;僅能用於upstream上下文
weight=number:定義伺服器權重,預設為1
max_fails=number:最大失敗連接嘗試次數
fail_timeout=number:等待目標伺服器發送響應的時長
proxy_pass http://backserver 反代至upstream中定義的組
其它指令不做介紹,前面的博文有詳細說明
(3)ip_hash 源地址hash,把來自同一個ip地址的請求始終發往同一個backend server,除非此backend server不可用
如果web頁面已經綁定了第一臺server,而現在我在後面添加了down參數(手動標記其不再處理任何用戶請求)則再次請求時會由第二台server發送響應
(4) least_conn 最少連接;當各server權重不同時,即為加權最少連接(演算法:當前連接數/權重)
(5) health_check [parameters]; 健康狀態檢測機制;只能用於location上下文 (官方的nginx對後端伺服器的健康狀態檢測不完善,但淘寶的tengine的完善了此功能)