5

下面是集群的简单 nginx 配置,然后我关闭192.168.1.77:3032服务器。

有时我会在日志中捕获 502 错误和“连接到上游客户端时没有实时上游”,而“服务器 unix:///var/tmp/site.sock 备份;” 工作,我猜必须处理请求,但 nginx 并没有发现它是实时的。可能是什么问题呢?

nginx配置:

       upstream uwsgicluster {
            server 192.168.1.77:3032;
            server unix:///var/tmp/site.sock backup;
        } 


server {
    listen      80;
    server_name site.com www.site.com;
    access_log  /var/log/nginx/sire.log;
    error_log  /var/log/nginx/site-error.log;


    location / {
            uwsgi_pass   uwsgicluster;
            include        uwsgi_params;
        }
}

如果我从上游删除 192.168.1.77:3032 服务器并重新启动 nginx 它工作正常,但关闭 192.168.1.77:3032 服务器错误会定期发生

4

1 回答 1

1

我认为即使一个不工作,nginx 仍然会尝试上游块中的两台服务器。当它无法连接到其中一个时,它会尝试另一个,但仍会记录您看到的错误。

默认情况下,proxy_next_upstream 设置将在错误或超时时尝试下一个上游服务器。您可以覆盖它:

http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream

您是只看到错误日志,还是还看到了不良行为/负载平衡?

于 2014-09-09T17:40:25.800 回答