Nginx can not use more than 1024 log?

Alexandre infos at opendoc.net
Tue Jun 28 19:41:34 UTC 2016


Hello everyone,
I think the open file problem already mentioned.

Here is the error
---
2016/06/28 21:12:41 [emerg] 1539#1539: open() 
"/var/log/nginx/xxx-xxx-xx_error.log" failed (24: Too many open files)
---

I use 531 virtual host, each one of the virtual host uses 2 log files 
(access_log and error_log). Nginx uses 1062 logs.

Here is my system configuration :

/etc/sysctl.conf
---
fs.file-max = 2097152
---

/etc/security/limits.conf (I use net user)
---
net               soft     nofile         800000
net               hard     nofile         1000000
net               soft     locks          unlimited
net               hard     locks          unlimited
net               soft     nproc          unlimited
net               hard     nproc          unlimited
net               soft     core           unlimited
net               hard     core           unlimited
net               soft     data           unlimited
net               hard     data           unlimited
net               soft     cpu            unlimited
net               hard     cpu            unlimited
---

/etc/default/nginx
---
NGINX_ULIMIT="-n 1000000"
---

/etc/nginx/nginx.conf
---
worker_rlimit_nofile 100000;
---

ulimit info for user net
---
ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15793
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 800000
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
---


I use an debian 8 with nginx 1.10.1-1~jessie

Here are the compilation options en debian 8
---
nginx -V
nginx version: nginx/1.10.1
built by gcc 4.9.2 (Debian 4.9.2-10)
built with OpenSSL 1.0.1k 8 Jan 2015 (running with OpenSSL 1.0.1t  3 May 
2016)
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx 
--modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid 
--lock-path=/var/run/nginx.lock 
--http-client-body-temp-path=/var/cache/nginx/client_temp 
--http-proxy-temp-path=/var/cache/nginx/proxy_temp 
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp 
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp 
--http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx 
--group=nginx --with-http_ssl_module --with-http_realip_module 
--with-http_addition_module --with-http_sub_module 
--with-http_dav_module --with-http_flv_module --with-http_mp4_module 
--with-http_gunzip_module --with-http_gzip_static_module 
--with-http_random_index_module --with-http_secure_link_module 
--with-http_stub_status_module --with-http_auth_request_module 
--with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic 
--with-http_geoip_module=dynamic --with-http_perl_module=dynamic 
--add-dynamic-module=debian/extra/njs-1c50334fbea6/nginx --with-threads 
--with-stream --with-stream_ssl_module --with-http_slice_module 
--with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 
--with-http_v2_module --with-cc-opt='-g -O2 -fstack-protector-strong 
-Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2' 
--with-ld-opt='-Wl,-z,relro -Wl,--as-needed'
---

I do not understand why it does not work. The same configuration on a 
debian 7 with the same version of nginx working properly.

Here are the compilation options en debian 7
---
nginx -V
nginx version: nginx/1.10.1
built by gcc 4.7.2 (Debian 4.7.2-5)
built with OpenSSL 1.0.1e 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx 
--modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid 
--lock-path=/var/run/nginx.lock 
--http-client-body-temp-path=/var/cache/nginx/client_temp 
--http-proxy-temp-path=/var/cache/nginx/proxy_temp 
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp 
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp 
--http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx 
--group=nginx --with-http_ssl_module --with-http_realip_module 
--with-http_addition_module --with-http_sub_module 
--with-http_dav_module --with-http_flv_module --with-http_mp4_module 
--with-http_gunzip_module --with-http_gzip_static_module 
--with-http_random_index_module --with-http_secure_link_module 
--with-http_stub_status_module --with-http_auth_request_module 
--with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic 
--with-http_geoip_module=dynamic --with-http_perl_module=dynamic 
--add-dynamic-module=debian/extra/njs-1c50334fbea6/nginx --with-threads 
--with-stream --with-stream_ssl_module --with-http_slice_module 
--with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 
--with-http_v2_module --with-cc-opt='-g -O2 -fstack-protector 
--param=ssp-buffer-size=4 -Wformat -Werror=format-security 
-Wp,-D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-z,relro -Wl,--as-needed'
---


Difference between the compiler options :
debian 7
---
built by gcc 4.7.2 (Debian 4.7.2-5)
built with OpenSSL 1.0.1e 11 Feb 2013
--with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 
-Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2' 
--with-ld-opt='-Wl,-z,relro -Wl,--as-needed'
---

debian 8
---
built by gcc 4.9.2 (Debian 4.9.2-10)
built with OpenSSL 1.0.1k 8 Jan 2015 (running with OpenSSL 1.0.1t  3 May 
2016)
--with-cc-opt='-g -O2 -fstack-protector-strong -Wformat 
-Werror=format-security -Wp,-D_FORTIFY_SOURCE=2' 
--with-ld-opt='-Wl,-z,relro -Wl,--as-needed'
---

Would you have a solution?

Thank you.

Regards,
Alexandre



More information about the nginx mailing list