模块 ngx_http_upstream_conf_module
示例Directives upstream_conf |
模块
允许动态配置上游服务器组
通过简单的 HTTP 接口,无需重新启动 nginx。
http 或 stream server 组必须驻留在共享内存中。ngx_http_upstream_conf_module
此模块作为我们商业订阅的一部分提供,直到 1.13.10。 它已被 ngx_http_api_module 模块取代 在 1.13.3 中。
示例配置
upstream backend { zone upstream_backend 64k; ... } server { location /upstream_conf { upstream_conf; allow 127.0.0.1; deny all; } }
Directives
语法: |
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 块中的 “” Directives。 另请参阅 “” 参数 的 HTTP 或 Stream 上游服务器。
resolver
resolve
-
service=
name
- 与 “” 参数相同
HTTP 或 Stream 上游服务器 (1.9.13) 的 HTTP 或 Stream Upstream Server 的 Git。
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 上游服务器置于 “draining” 模式(1.7.5)。 在该模式下,仅绑定到服务器的请求 将被代理到它。
-
up=
- 与 “” 参数相反
的 HTTP 或 Stream 上游服务器。
down
-
route=
string
- 与 http 上游服务器的 “” 参数相同。
route
前 3 个参数用于选择一个对象。 这可以是整个 http 或 stream 上游服务器组, 或特定服务器。 在没有其他参数的情况下,选中 组或服务器。
例如,要查看整个组的配置,请发送:
http://127.0.0.1/upstream_conf?upstream=backend
要查看特定服务器的配置,还要指定其 ID:
http://127.0.0.1/upstream_conf?upstream=backend&id=42
要添加新服务器,
在 “” 参数中指定其地址。
如果未指定其他参数,则服务器将添加其他
参数设置为其默认值(请参阅 HTTP 或 Stream “” Directives)。server=
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