现在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。