Nginx: worker_connections are more than open file resource limit

Dieser Artikel ist Teil einer Reihe zum Webserver nginx.
Schau dir auch die anderen Artikel an: Zum Leitartikel

Der folgende Fehler trat bei mir beim Start des Nginx Webservers auf:

worker_connections are more than open file resource limit

Das open file resource limit ist dann zu niedrig gesetzt. Für mehr Infos dazu mal die Suchmaschien deiner Wahl befragen. Das Problem ist einfach zu lösen.
Entweder vor dem Start ulimit -n 65535 angeben oder für persistente Änderung die Datei /etc/security/limits.conf editieren und am Ende:

* soft nofile 65535
* hard nofile 65535

einfügen. Dann entweder den Befehl ulimit -n 65535 eingeben oder rebooten, damit die Parameter aktiv sind.

Veröffentlicht von

Uli

IT-Nerd und Admin

3 Gedanken zu „Nginx: worker_connections are more than open file resource limit“

  1. Hi! Gleiches Problem wie du – ich hab allerdings nur bis 4096 erhöht.

    Die Config via limits.conf funktioniert – allerdings greift diese nicht beim nginx-initscript. Anscheinend werden die limits erst danach gesetzt. Schon mal ins error.log von nginx geschaut?

    Ich vermute, dass man nginx erst später starten lassen darf – wann wird die limits.conf verarbeitet?

    1. Yes the limits.conf file is processed after the nginx-initscript
      I altered the nginx-initscript to get rid of the problem.
      I added 3 new lines directly under the Start() directive in /etc/init.d/nginx as the limit check is done during configtest the new code had to be in front of the configtest. I decided to change ulimit only in the Start() phase not in the configtest as it is not usefull for Stop() and when using Reload() it also not required as it has been set with start the first time.

      This is how it looks like now:

      Start() {
      ebegin „Setting open file limit“
      ulimit -n 65536
      eend $? „Failed to set open file limit“
      configtest || return 1
      ebegin „Starting nginx“
      ….

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.