How to change max open files for nginx server on Ubuntu

The following error occurred a lot in /var/log/nginx/error.log:

Too many open files

This means that the nginx master process reached the maximum number of open files which was set to the default of 4096. (To check it, simply cat /proc/pid/limits, where pid is the process id)

To resolve, this, edit /lib/systemd/system/nginx.service and add the following line:

LimitNOFILE=30000 #change it according to your needs

Then reload the systemctl daemon:

sudo systemctl daemon-reload

and finally restart the nginx service:

sudo service nginx restart

That’s it, the error is gone!

Tested on Ubuntu 16.04 with nginx 1.17, should work with any other OS using systemd.

Enjoy!

Sources:

About SoCRaT

Systems Engineer, OSS & Linux Geek
This entry was posted in Linux, Ubuntu and tagged , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s