2012-11-04 13 views
5

Unten einfach nginx Config für Cluster, dann schalte ich 192.168.1.77:3032 Server.uwsgicluster - keine Live-Upstreams beim Verbinden mit Upstream-Client

Von Zeit zu Zeit fange ich 502 Fehler und "keine Live-Upstreams bei der Verbindung mit dem Upstream-Client" in Protokollen, während "Server Unix: ///var/tmp/site.sock Backup;" arbeiten und wie ich denke, muss Anfrage bearbeiten, aber nginx finden Sie nicht als live. Was könnte das Problem sein?

nginx config:

 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; 
     } 
} 

Wenn ich 192.168.1.77:3032 Server von stromaufwärts zu entfernen und neu zu starten nginx es funktioniert gut, aber bei abgeschaltetem 192.168.1.77:3032 Server-Fehler tritt regelmäßig

+0

Ist Ihr Remote-Upstream-Server immer verfügbar? – RickyA

+0

Was ist Ihr Gebäude effektiv ein Load Balancer. Was ist mit dem Einrichten von Anwendungsservern mit uwsgi und nginx auf ihnen und dann erstellen Sie diesen Loadbalancing-Server, der nur die Aufgabe besteht, http 80 Anforderungen an Ihre App-Server (nicht uwgi Anfragen) zu übergeben. – RickyA

+1

Auch dieses Hotswapping auf Ihrem Loadbalancing scheint der perfekte Weg zu sein, Ihren Loadbalancing-Server herunterzufahren, wenn Ihre Upstream-Server ausfallen. Verwenden Sie einen Remote-Hotswap. – RickyA

Antwort

1

Ich denke, dass Nginx wird immer noch versuchen, die beiden Server im Upstream-Block, auch wenn man nicht arbeitet. Wenn keine Verbindung zu einem von ihnen hergestellt werden kann, versucht es den anderen, protokolliert jedoch weiterhin den Fehler, den Sie sehen.

Standardmäßig versucht die Einstellung proxy_next_upstream den nächsten Upstream-Server bei einem Fehler oder Timeout. Sie können dies außer Kraft setzen:

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

Sind Sie nur sehen, Fehlerprotokolle, oder sind Sie auch unerwünschte Verhalten/Load-Balancing zu sehen?