如何使用nginxpipe理逆向代理列表中的服务器?

我正在尝试nginx负载均衡function。

现在configuration看起来像这样:

... upstream myapp1 { server 127.0.0.1:4000; server 127.0.0.1:4001; server 127.0.0.1:4002; server 127.0.0.1:4003; } ... server { listen 80; server_name mydomain.local; location / { proxy_pass http://myapp1; } 

现在,当我想升级任何实例时,我必须停止它,更新代码并重新启动。

所以,当服务器正在closures时,如何让nginx不在平衡例程中使用它?

在升级服务器之后,编辑nginxconfiguration,并在特定服务器的upstream块的server行中添加down关键字。

然后发出命令service nginx reload ,或者你的发行版的类似命令,这会使nginx重新读取它的configuration。 现在nginx不会使用该上游服务器,因此您可以升级并重新启动该服务,而不会对用户造成任何影响。

之后,您可以删除down关键字,并重新加载nginxconfiguration。