linux - nginx loadbalancer Too many open files -


i've loadbalancer , kind errors:

2017/09/12 11:18:38 [crit] 22348#22348: accept4() failed (24: many open files) 2017/09/12 11:18:38 [alert] 22348#22348: *4288962 socket() failed (24: many open files) while connecting upstream, client: x.x.x.x, server: example.com, request: "get /xxx.jpg http/1.1", upstream: "http://y.y.y.y:80/xxx.jpg", host: "example.com", referrer: "https://example.com/some-page" 2017/09/12 11:18:38 [crit] 22348#22348: *4288962 open() "/usr/local/nginx/html/50x.html" failed (24: many open files), client: x.x.x.x, server: example.com, request: "get /xxx.jpg http/1.1", upstream: "http://y.y.y.y:80/xxx.jpg", host: "example.com", referrer: "https://example.com/some-page" 

nginx version: nginx/1.10.1

os: debian gnu/linux 8 (jessie)

the interesting thing not error. 30-50 lines of errors nothing in 5-10 minutes. , once errors coming again...

here nginx.conf:

user                    www-data; pid                     /usr/local/nginx/nginx.pid; worker_processes        auto;  error_log               /var/log/nginx/error.log;  events {     worker_connections  30000; }  http {     include             mime.types;     default_type        application/octet-stream;      fastcgi_buffers 16 16k;     fastcgi_buffer_size 32k;      proxy_buffer_size   128k;     proxy_buffers   4 256k;     proxy_busy_buffers_size   256k;     client_max_body_size 500m;     rewrite_log on;      log_format          main    '$remote_addr - "$proxy_add_x_forwarded_for" -  [$time_local] "$request" '                                 '$status $body_bytes_sent "$http_referer" '                                 '"$http_user_agent" "$backend" '                                 'rt=$request_time uct="$upstream_connect_time" '                                 'uht="$upstream_header_time" urt="$upstream_response_time"';      access_log          /var/log/nginx/access.log main;      sendfile            on;     tcp_nopush          on;     tcp_nodelay         on;     keepalive_timeout   65;      geoip_country    /etc/nginx/geodb/geoip.dat;     geoip_city       /etc/nginx/geodb/geolitecity.dat;      include             /etc/nginx/loadbalancer/loadbalancer.conf;  } 

and info:

$ ulimit -hn 65536 $ ulimit -sn 65536 $ sysctl fs.file-nr fs.file-nr = 2848   0   70000 

i don't know if worth loadbalancer behind cloudflare.

i've added following line nginx.conf:

worker_rlimit_nofile    20000; 

now works, don't error since modification.

i hope if have same problem.


Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -