Unter CentOS (getestet auf 7.x):
Erstellen Sie die Datei /etc/systemd/system/nginx.service.d/override.conf
mit folgendem Inhalt:
[Service]
LimitNOFILE=65536
Laden Sie den systemd-Daemon neu mit:
systemctl daemon-reload
Fügen Sie dies der Nginx-Konfigurationsdatei hinzu:
worker_rlimit_nofile 16384; (has to be smaller or equal to LimitNOFILE set above)
Und schließlich starten Sie Nginx neu:
systemctl restart nginx
Sie können überprüfen, ob es mit cat /proc/<nginx-pid>/limits
funktioniert .
Ich fand die Antwort in wenigen Minuten, nachdem ich diese Frage gestellt hatte...
# cat /etc/default/nginx
# Note: You may want to look at the following page before setting the ULIMIT.
# http://wiki.nginx.org/CoreModule#worker_rlimit_nofile
# Set the ulimit variable if you need defaults to change.
# Example: ULIMIT="-n 4096"
ULIMIT="-n 15000"
/etc/security/limit.conf
wird von PAM verwendet, sollte also nichts mit www-data
zu tun haben (es ist nologin-Benutzer).