我们使用Nginx来在两个上游应用程序服务器之间进行负载均衡,我们希望在部署它时能够使其中一个或另一个停下来。 我们发现,当我们closures一个时,Nginx不会失败。 它不断发送请求和logging错误。
我们的上游指令具有以下forms:
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_upstream或fastcgi_next_upstream(除了不计入max_fails的http_404错误除外)定义的。
根据文档,失败是由proxy_next_upstream或fastcgi_next_upstream定义的。
它不断发送请求和记录错误。
请检查日志记录了什么类型的错误,如果它不是默认的(错误或超时),那么你可能想要专门在proxy_next_upstream或fastcgi_next_upstream中定义它。