模块 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=
数字
-
与 http 或 stream 上游服务器的 “
max_conns
” 参数相同。 -
max_fails=
数字
-
与 http 或 stream 上游服务器的 “
max_fails
” 参数相同。 -
fail_timeout=
时间
-
与 http 或 stream 上游服务器的 “
fail_timeout
” 参数相同。 -
slow_start=
时间
-
与 http 或 stream 上游服务器的 “
slow_start
” 参数相同。 -
down=
-
与 http 或 stream 上游服务器的 “
down
” 参数相同。 drain=
- 将 http 上游服务器置于“排空”模式(1.7.5)。在此模式下,仅将绑定到服务器的请求代理到该服务器。
-
up=
-
与 http 或 stream 上游服务器的 “
down
” 参数相反。 -
route=
字符串
-
与 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