2012-11-04 8 views
5

Poniżej prostej konfiguracji nginx dla klastra, a następnie wyłączam serwer 192.168.1.77:3032.uwsgicluster - brak transmisji na żywo podczas łączenia się z klientem wyższego szczebla

Od czasu do czasu przechwytywam 502 błędy i "brak transmisji na żywo podczas połączenia z klientem wyższego szczebla" w dziennikach, a "serwer unix: ///var/tmp/site.sock backup;" działa i jak sądzę, musi obsługiwać żądanie, ale nginx nie może go znaleźć na żywo. Jaki może być problem?

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

Jeśli usunąć 192.168.1.77:3032 serwer od góry i ponownie nginx to działa dobrze, ale przy wyłączonym 192.168.1.77:3032 błędów serwera występuje okresowo

+0

Czy twój serwer zdalny jest zawsze dostępny? – RickyA

+0

Co twój budynek jest efektywnie równoważenia obciążenia. A co z konfiguracją serwera (ów) aplikacji z uwsgi an nginx na nich, a następnie stwórz ten serwer loadbalancingu, którego jedynym zadaniem jest przekazywanie żądań http 80 do serwerów aplikacji (nie do zadań typu uwgi). – RickyA

+1

Również ten hotswapping na loadbalancingu wygląda jak idealny sposób na zmniejszenie obciążenia serwera loadbalancingu, gdy zawodzą serwery upsteam. Użyj zdalnej, szybkiej wymiany. – RickyA

Odpowiedz

1

Myślę, że nginx nadal będzie próbował obu serwerów w bloku upstream, nawet jeśli nie działa. Gdy nie uda się połączyć z jednym z nich, spróbuje innego, ale nadal będzie rejestrować błąd, który widzisz.

Domyślnie ustawienie proxy_next_upstream będzie próbowało następnego serwera wyższego poziomu w przypadku błędu lub limitu czasu. Można zastąpić to:

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

Czy tylko widząc dzienniki błędów, czy jesteś też widząc niepożądane zachowanie/równoważenia obciążenia?

Powiązane problemy