# Nginx can not use more than 1024 log?

**URL:** <https://www.ruby-forum.com/t/nginx-can-not-use-more-than-1024-log/244863>\
**Category:** NGINX\
**Created:** [June 28, 2016, 9:42pm UTC](https://www.ruby-forum.com/t/nginx-can-not-use-more-than-1024-log/244863 "2016-06-28T21:42:15Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rafa\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/958977/32.png) [@Rafa\_F](https://www.ruby-forum.com/u/Rafa_F)\
**Post date:** [June 28, 2016, 9:42pm UTC](https://www.ruby-forum.com/t/nginx-can-not-use-more-than-1024-log/244863/1 "2016-06-28T21:42:15Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![alexandre](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a88e4f/32.png) [@alexandre](https://www.ruby-forum.com/u/alexandre)\
**Post date:** [June 29, 2016, 12:21pm UTC](https://www.ruby-forum.com/t/nginx-can-not-use-more-than-1024-log/244863/2 "2016-06-29T12:21:42Z")

</div>

Hi,

What does a ‘cat /proc/PID/limits’ (replace PID with the NGINX PID  
number)  
show you ?

The limits.conf file does not apply to systemd services.  
Edit the file /lib/systemd/system/nginx.service and within the  
‘[Service]’  
section the following: LimitNOFILE=65536  
After that run: systemctl daemon-reload && systemctl restart nginx

Wesley

Posted at Nginx Forum:

> **[Re: Nginx can not use more than 1024 log?](https://forum.nginx.org/read.php?2,267940,267949#msg-267949)**
>
> 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, e

---

<div class="post-metadata">

**Author:** ![alexandre](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a88e4f/32.png) [@alexandre](https://www.ruby-forum.com/u/alexandre)\
**Post date:** [June 29, 2016, 1:45pm UTC](https://www.ruby-forum.com/t/nginx-can-not-use-more-than-1024-log/244863/3 "2016-06-29T13:45:15Z")

</div>

Hi Wesley,

I can not get information because the nginx service does not start.

You’re right, actually have to use the file  
/lib/systemd/system/nginx.service. However, the file does not exist. I  
find this file on debian 8 : /run/systemd/generator.late/nginx.service

* * *

[Unit]  
SourcePath=/etc/init.d/nginx  
Description=LSB: Stop/start nginx  
Before=runlevel2.target runlevel3.target runlevel4.target  
runlevel5.target shutdown.target  
After=network-online.target remote-fs.target local-fs.target  
Wants=network-online.target  
Conflicts=shutdown.target

## [Service] Type=forking Restart=no TimeoutSec=5min IgnoreSIGPIPE=no KillMode=process GuessMainPID=no RemainAfterExit=yes SysVStartPriority=1 ExecStart=/etc/init.d/nginx start ExecStop=/etc/init.d/nginx stop ExecReload=/etc/init.d/nginx reload

I followed your instructions :

- I create the nginx.service in /lib/systemd/system/nginx.service
- I add “LimitNOFILE=65536”

* * *

[Unit]  
SourcePath=/etc/init.d/nginx  
Description=LSB: Stop/start nginx  
Before=runlevel2.target runlevel3.target runlevel4.target  
runlevel5.target shutdown.target  
After=network-online.target remote-fs.target local-fs.target  
Wants=network-online.target  
Conflicts=shutdown.target

## [Service] Type=forking Restart=no TimeoutSec=5min IgnoreSIGPIPE=no KillMode=process GuessMainPID=no RemainAfterExit=yes SysVStartPriority=1 ExecStart=/etc/init.d/nginx start ExecStop=/etc/init.d/nginx stop ExecReload=/etc/init.d/nginx reload LimitNOFILE=65536

```
* systemctl daemon-reload && systemctl restart nginx

```

Now it works perfectly !

Thank you very much Wesley.

## I have a question, I use the official repository nginx.

## deb [Index of /packages/debian/](http://nginx.org/packages/debian/) jessie nginx deb-src [Index of /packages/debian/](http://nginx.org/packages/debian/) jessie nginx

Would it be possible to create the nginx.service file during  
installation of nginx?

Thank you the nginx community.

Regards,  
Alexandre.
