我正在尝试 nginx 负载平衡功能。
现在配置如下所示:
...
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;
}
现在,当我想要升级任何实例时,我必须停止它,更新代码,然后重新启动。
那么,当服务器出现故障时,如何让 nginx 在其平衡例程中不使用它?
答案1
一旦升级服务器,请编辑 nginx 配置并在特定服务器的块中的行down
中添加关键字。server
upstream
然后发出命令service nginx reload
,或针对您的发行版的类似命令,使 nginx 重新读取其配置。现在 nginx 将不再使用该上游服务器,因此您可以升级并重新启动服务而不会对用户产生任何影响。
之后,您可以删除down
关键字,然后重新加载 nginx 配置。