2016-04-27 12 views
5

Jestem nowym użytkownikiem Nginx.Błąd nginx: połączenia_menedżera nie wystarczą

Co chcę zrobić z Nginx to równoważenie obciążenia ruchem. Aby to zrobić, i skonfigurowany nginx.conf jak poniżej

struktura systemu

 udp  udp 
    A <--> Nginx <--> Backend 1 
       <--> Backend 2 

nginx.conf

user nginx; 
worker_processes 4; 
worker_rlimit_nofile 30000; 

error_log /var/log/nginx/error.log warn; 
pid  /var/run/nginx.pid; 

stream { 
upstream udp_upstreams { 
    server 1:1:1:1:9997 fail_timeout=60s; 
    server 1:1:1:2:9997 fail_timeout=60s; 
} 

server { 
    listen 9000 udp; 
    proxy_pass udp_upstreams; 
    proxy_timeout 3s; 
    proxy_responses 1; 
    error_log /var/log/nginx/udp.log; 
} 
} 

events { 
    worker_connections 10240; 
} 

gdy uruchamiam nginx, druki nginx dużo poniżej wiadomości.

2016/04/27 04:50:36 [alert] 3137#3137: *446352 10240 worker_connections are not enough while connecting to upstream, udp client: 3.3.3.3, server: 0.0.0.0:9000, upstream: "1.1.1.2:9997", bytes from/to client:0/0, bytes from/to upstream:0/0 
2016/04/27 04:50:36 [alert] 3136#3136: *446353 10240 worker_connections are not enough while connecting to upstream, udp client: 3.3.3.3, server: 0.0.0.0:9000, upstream: "1.1.1.1:9997", bytes from/to client:0/0, bytes from/to upstream:0/0 

Jak skonfigurować plik nginx.conf, aby go rozwiązać? Ustawiłem już wartość work_connections na 40000. Ale to było bezużyteczne.

Z góry dziękuję.

+0

Mam ten sam problem. Czy kiedykolwiek to rozwiązałeś? – Joe

Odpowiedz

5

Po prostu wpadłem na ten sam problem i znalazłem rozwiązanie po tym, jak przestałem używać google'a i zacząłem czytać dokumentację nginx.^_ ^;

Parametr "proxy_responses" mówi nginx, aby czekać na x odpowiedzi na żądanie. W moim przypadku, przekazywanie logów, nie ma. Nginx czeka na serwer i zawiesza go.

Rozwiązanie:

proxy_responses 0 
+0

Świetna odpowiedź! Czy możesz również podać link do dokumentów dla kolejnych pokoleń? –

Powiązane problemy