模块 ngx_http_upstream_conf_module
| Example Configuration Directives upstream_conf |
该ngx_http_upstream_conf_module模块允许通过简单的 HTTP 接口即时配置上游服务器组,而无需重新启动 nginx。http
或
流
服务器组必须驻留在共享内存中
。
该模块作为我们的商业订阅的 一部分提供, 直至 2010 年 13 月 13 日。它在 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 |
打开周围位置的上游配置的HTTP接口。对该位置的访问应受到 限制。
配置命令可用于:
- 查看组配置;
- 查看、修改或删除服务器;
- 添加新服务器。
由于组中的地址不需要唯一,因此组中的特定服务器通过其 ID 来引用。ID 是自动分配的,并在添加新服务器或查看组配置时显示。
配置命令由作为请求参数传递的参数组成,例如:
http://127.0.0.1/upstream_conf?upstream=backend
支持以下参数:
-
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 或 流上游服务器的“ ”参数 。resolve -
service=name - 与http
或
流
上游服务器 (1.9.13)
service的“ ”参数 相同。 -
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
或
流
down上游服务器的“ ”参数 相反 。 -
route=string - 与http
route上游服务器的“ ”参数 相同 。
前三个参数选择一个对象。这可以是整个 http 或流上游服务器组,也可以是特定服务器。如果没有其他参数,则会显示所选组或服务器的配置。
例如,要查看整个组的配置,请发送:
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
