ngx_http_upstream_conf_module 模組
範例設定 指令 upstream_conf |
ngx_http_upstream_conf_module
模組允許透過簡單的 HTTP 介面,即時設定上游伺服器群組,而無需重新啟動 nginx。 http 或 stream 伺服器群組必須駐留在共享記憶體中。
此模組在 1.13.10 版本之前是我們商業訂閱的一部分。它在 1.13.3 版本中被 ngx_http_api_module 模組取代。
範例設定
upstream backend { zone upstream_backend 64k; ... } server { location /upstream_conf { upstream_conf; allow 127.0.0.1; deny all; } }
指令
語法 |
upstream_conf; |
---|---|
預設 | — |
上下文 |
location |
在周圍的 location 中啟用上游設定的 HTTP 介面。應限制對此 location 的存取。
組態指令可用於
- 檢視群組設定;
- 檢視、修改或移除伺服器;
- 新增伺服器。
由於群組中的位址不一定要唯一,因此群組中的特定伺服器會以其 ID 來參照。 ID 會自動分配,並在新增伺服器或檢視群組設定時顯示。
組態指令由作為請求參數傳遞的參數組成,例如
http://127.0.0.1/upstream_conf?upstream=backend
支援以下參數
-
stream=
- 選取 stream 上游伺服器群組。若無此參數,則選取 http 上游伺服器群組。
-
upstream=
name
- 選取要處理的群組。此參數為必要參數。
-
id=
number
- 選取要檢視、修改或移除的伺服器。
-
remove=
- 從群組中移除伺服器。
-
add=
- 將新伺服器新增至群組。
-
backup=
- 新增備份伺服器時為必要參數。
在 1.7.2 版本之前,檢視、修改或移除現有的備份伺服器也需要
backup=
。 -
server=
address
- 與 http 或 stream 上游伺服器的 "
address
" 參數相同。新增伺服器時,可以將其指定為網域名稱。在這種情況下,對應於網域名稱的 IP 位址變更將受到監控,並自動應用於上游設定,而無需重新啟動 nginx (1.7.2)。這需要 http 或 stream 區塊中的 "
resolver
" 指令。另請參閱 http 或 stream 上游伺服器的 "resolve
" 參數。 -
service=
name
- 與 http 或 stream 上游伺服器的 "
service
" 參數相同 (1.9.13)。 -
weight=
number
- 與 http 或 stream 上游伺服器的 "
weight
" 參數相同。 -
max_conns=
number
- 與 http 或 stream 上游伺服器的 "
max_conns
" 參數相同。 -
max_fails=
number
- 與 http 或 stream 上游伺服器的 "
max_fails
" 參數相同。 -
fail_timeout=
time
- 與 http 或 stream 上游伺服器的 "
fail_timeout
" 參數相同。 -
slow_start=
time
- 與 http 或 stream 上游伺服器的 "
slow_start
" 參數相同。 -
down=
- 與 http 或 stream 上游伺服器的 "
down
" 參數相同。 drain=
- 將 http 上游伺服器置於「排空」模式 (1.7.5)。在此模式下,只有繫結至伺服器的請求才會被代理到該伺服器。
-
up=
- 與 http 或 stream 上游伺服器的 "
down
" 參數相反。 -
route=
string
- 與 http 上游伺服器的 "
route
" 參數相同。
前三個參數選取一個物件。這可以是整個 http 或 stream 上游伺服器群組,或特定的伺服器。若沒有其他參數,則會顯示所選群組或伺服器的設定。
例如,若要檢視整個群組的設定,請傳送
http://127.0.0.1/upstream_conf?upstream=backend
若要檢視特定伺服器的設定,也請指定其 ID
http://127.0.0.1/upstream_conf?upstream=backend&id=42
若要新增伺服器,請在 "server=
" 參數中指定其位址。若未指定其他參數,則會使用預設值設定其他參數來新增伺服器 (請參閱 http 或 stream "server
" 指令)。
例如,若要新增新的主要伺服器,請傳送
http://127.0.0.1/upstream_conf?add=&upstream=backend&server=127.0.0.1:8080
若要新增新的備份伺服器,請傳送
http://127.0.0.1/upstream_conf?add=&upstream=backend&backup=&server=127.0.0.1:8080
若要新增新的主要伺服器,請將其參數設定為非預設值並標記為 "down
",請傳送
http://127.0.0.1/upstream_conf?add=&upstream=backend&server=127.0.0.1:8080&weight=2&down=
若要移除伺服器,請指定其 ID
http://127.0.0.1/upstream_conf?remove=&upstream=backend&id=42
若要將現有的伺服器標記為 "down
",請傳送
http://127.0.0.1/upstream_conf?upstream=backend&id=42&down=
若要修改現有伺服器的位址,請傳送
http://127.0.0.1/upstream_conf?upstream=backend&id=42&server=192.0.2.3:8123
若要修改現有伺服器的其他參數,請傳送
http://127.0.0.1/upstream_conf?upstream=backend&id=42&max_fails=3&weight=4