我正在尝试访问nginx
部署的kibana
应用程序,但下面
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部署在/var/www/kibana-3.1.2
我试图增加worker_connections
,但仍然没有运气,在这种情况下得到的。
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; }
并在下面的位置指令。
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 *; }
没有足够的信息来说明确的,但基于你提供的配置,它看起来像你有循环。 你正在代理到localhost:80的请求,但是NGINX很可能在80端口上监听。所以,NGINX一遍又一遍地连接到自己,因此打开文件过多的错误。
此外,Kibana没有任何服务器端代码,所以proxy_pass在这里是不合适的。 像下面的东西应该是足够的:
root /var/www/ location /kibana-3.1.2 { try_files $uri $uri/ =404; }
据说,如果你打算从公共互联网访问这个,你应该用密码来保护它,你应该在elasticsearch之前使用proxy_pass来控制对它的请求。 但这是一个不同的故事:)
老问题,但我有同样的问题,接受的答案没有为我工作。
如上所述 ,我必须增加worker_connections的数量。
/etc/nginx/nginx.conf
events { worker_connections 20000; }