ngx_http_upstream_conf_module

    模块允许通过简单的 HTTP 接口即时配置上游(upstream)服务器组,而无需重新启动 nginx。 或服务器组必须驻留在共享内存中。

    在 location 中引入该指令,开启上游配置 HTTP 接口。 应访问此 location。

    配置命令可用于:

    • 查看组配置
    • 查看、修改或删除服务器
    • 添加新服务器

    配置命令作为请求参数传入,例如:

    1. http://127.0.0.1/upstream_conf?upstream=backend

    支持以下参数:

    • upstream=name

      选择要使用的组。此参数是必需的。

    • id=number

      选择一个要查看、修改或删除的服务器。

    • remove=

      从组中删除一个服务器。

    • add=

    • backup=

      需要添加一个备用服务器。

    • server=address

      http 或 上游服务器的 address 参数相同。

      添加服务器时,可以将其指定为一个域名。这种情况下,将监视与域名对应的 IP 地址的更改并自动应用于上游配置,无需重新启动 nginx(1.7.2)。这需要 http 或 块中的 resolver 指令。另请参阅 http 或 上游服务器的 resolve 参数。

    • service=name

      http 或 上游服务器的 参数相同(1.9.13)。

    • weight=number

      http 或 上游服务器的 weight 参数相同。

    • max_conns=number

      http 或 上游服务器的 max_conns 参数相同。

    • max_fails=number

      http 或 上游服务器的 max_fails 参数相同。

    • fail_timeout=time

      http 或 上游服务器的 fail_timeout 参数相同。

    • http 或 上游服务器的 down 参数相同。

    • drain=http 上游服务器置为 模式(1.7.5)。在此模式下,只有绑定到服务器的请求才会被代理。

    • up=

      与 或 stream 上游服务器的 down 参数相反。

    • route=string

      与 上游服务器的 route 参数相同。

    前三个参数会选择一个对象。这可以是整个 http 或 stream 上游服务器组,也可以是特定服务器。如果没有其他参数,则会显示所选组或服务器的配置。

    例如,要查看整个组的配置,请发送:

    1. http://127.0.0.1/upstream_conf?upstream=backend

    要查看特定服务器的配置,还要指定其 ID:

    要添加新服务器,请在 server= 参数中指定其地址。如果未指定其他参数,添加服务器时将其他参数设置为其默认值(请参阅 http 或 的 server 指令)。

    例如,要添加一个新的主服务器,请发送:

    1. http://127.0.0.1/upstream_conf?add=&upstream=backend&server=127.0.0.1:8080

    要添加一个备用服务器,发送:

    1. http://127.0.0.1/upstream_conf?add=&upstream=backend&backup=&server=127.0.0.1:8080

    要添加一个新的主服务器,将其参数设置为非默认值并将其标记为 down,发送:

    删除一个服务器,指定其 ID:

    1. http://127.0.0.1/upstream_conf?remove=&upstream=backend&id=42

    讲一个现有的服务器标记为 down,发送:

    1. http://127.0.0.1/upstream_conf?upstream=backend&id=42&down=

    修改一个现有服务器的地址,发送:

    修改一个现有服务器的其他参数,发送:

    以上示例适用于 http 上游服务器组。 上游服务器组需要加上 stream= 参数。