【问题标题】:uwsgicluster - no live upstreams while connecting to upstream clientuwsgicluster - 连接到上游客户端时没有实时上游
【发布时间】:2012-10-24 17:00:05
【问题描述】:

下面是集群的简单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 服务器错误会定期发生

【问题讨论】:

  • 您的远程上游服务器是否始终可用?
  • 您的建筑实际上是一个负载平衡器。用 uwsgi 和 nginx 在它们之上设置应用程序服务器,然后创建这个负载平衡服务器,它唯一的工作就是将 http 80 请求传递给您的应用程序服务器(而不是 uwgi 请求)。
  • 此外,当您的上游服务器出现故障时,这种对负载平衡的热交换看起来是让您的负载平衡服务器停机的完美方法。使用远程热插拔。

标签: nginx cluster-computing uwsgi


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2018-03-18
    • 2019-05-31
    • 2018-09-20
    • 1970-01-01
    • 2022-11-16
    • 1970-01-01
    • 1970-01-01
    • 2016-05-08
    • 1970-01-01
    相关资源
    最近更新 更多