我们使用Nginx来平衡两个上游应用服务器之间的负载,我们希望在部署到其中时能够关闭其中一个。我们发现,当我们关闭其中一台时,Nginx不会故障转移到另一台。它不断发送请求并记录错误。
我们的上游指令格式为:
upstream app_servers {
server 10.100.100.100:8080;
server 10.100.100.200:8080;
}
我们从阅读Nginx文档中了解到,我们不需要明确指定"max_fails"或"fail_timeout",因为它们有合理的默认值。(即max_fails为1)。
知道我们这里可能缺少什么吗?
非常感谢。
根据文档。。。
max_fails=NUMBER-通信尝试失败的次数在时间段内使用服务器(由参数指定fail_timeout),之后它被认为是不工作的。如果未设置,尝试次数为一次。值为0将关闭此检查。什么被视为故障是由proxy_next_eupstream定义的,或者fastcgi_next_upstream(http_404错误除外,这些错误不计算在内朝向max_fails)。
根据文档,故障由proxy_next_upstream或fastcgi_ext_upsttream定义。
它不断发送请求并记录错误。
请检查日志记录的错误类型,如果不是默认类型(错误或超时),则您可能希望在proxy_next_upstream或fastcgi_ext_upsttream中专门定义它。