我正在尝试部署在kibana
中的访问nginx
应用程序,但是要低于
网址: - 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 *;
}
答案 0 :(得分:40)
老问题,但我有同样的问题,而且接受的答案对我没有用。
我必须增加worker_connections的数量,如here所述。
<强> /etc/nginx/nginx.conf 强>
events {
worker_connections 20000;
}
答案 1 :(得分:26)
没有足够的信息可以肯定地说,但根据你提供的配置,看起来你有循环。您将请求代理到localhost:80,但是NGINX很可能正在侦听端口80.所以,NGINX一遍又一遍地连接自己,因此有太多打开文件的错误。
此外,Kibana没有任何服务器端代码,因此proxy_pass在这里并不合适。类似下面的内容就足够了:
root /var/www/
location /kibana-3.1.2 {
try_files $uri $uri/ =404;
}
话虽如此,如果您打算从公共互联网访问它,您应该使用密码保护它,并且您应该在elasticsearch前使用proxy_pass来控制可以对其发出的请求。但那是一个不同的故事:)