nginx - proxy_pass - interconexiones de trabajadores no son suficientes
nginx variables (2)
No es suficiente información para decir definitivamente, pero según la configuración que ha proporcionado, parece que tiene un bucle. Está procesando las solicitudes a localhost: 80, pero es probable que NGINX escuche en el puerto 80. Por lo tanto, NGINX se conecta a sí mismo una y otra vez, por lo tanto, los errores sobre muchos archivos abiertos.
Además, Kibana no tiene ningún código del lado del servidor, por lo que proxy_pass no es apropiado aquí. Algo como lo siguiente debería ser suficiente:
root /var/www/
location /kibana-3.1.2 {
try_files $uri $uri/ =404;
}
Dicho esto, si pretende que esto sea accesible desde la Internet pública, debe protegerlo con una contraseña y debe usar proxy_pass frente a elasticsearch para controlar qué solicitudes se le pueden hacer. Pero esa es una historia diferente :)
Estoy intentando acceder a la aplicación kibana
desplegada en nginx
, pero a continuación
URL: - http://127.0.0.1/kibana-3.1.2
2015/02/01 23:05:05 [alert] 3919#0: *766 768 worker_connections are not enough while connecting to upstream, client: 127.0.0.1, server: , request: "GET /kibana-3.1.2 HTTP/1.0", upstream: "http://127.0.0.1:80/kibana-3.1.2", host: "127.0.0.1"
Kibana se implementa en /var/www/kibana-3.1.2
He intentado aumentar las worker_connections
, pero aún así no he tenido suerte, bajando en este caso.
2015/02/01 23:02:27 [alert] 3802#0: accept4() failed (24: Too many open files)
2015/02/01 23:02:27 [alert] 3802#0: accept4() failed (24: Too many open files)
2015/02/01 23:02:27 [alert] 3802#0: accept4() failed (24: Too many open files)
2015/02/01 23:02:27 [alert] 3802#0: accept4() failed (24: Too many open files)
2015/02/01 23:02:27 [alert] 3802#0: accept4() failed (24: Too many open files)
nginx.conf: -
user www-data;
worker_processes 4;
pid /var/run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
Y a continuación en la directiva de ubicación.
location /kibana-3.1.2{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers *;
}
Pregunta antigua, pero tuve el mismo problema y la respuesta aceptada no me funcionó.
Tuve que aumentar el número de worker_connections de worker_connections , como se indica here .
/etc/nginx/nginx.conf
events {
worker_connections 20000;
}