nginx, ausgesprochen wie engine x, ist ein Open-Source-Webserver, der viele gleichzeitige Verbindungen mit wenig Arbeitsspeicher bedient. Geschrieben von Igor Sysoev und 2004 veröffentlicht, entstanden aus dem Problem, zehntausend offene Verbindungen gleichzeitig zu halten.
- nginx
Ein Webserver, der viele gleichzeitige Verbindungen mit wenig Arbeitsspeicher bedient.
Beispiel: „Vor der Anwendung steht nginx und liefert alle Bilder direkt aus.“Auch: Nginx, engine x. Dient ebenso als Reverse Proxy, also als vorgeschalteter Vermittler, und als Verteiler für Load Balancing.
Abgrenzung zu Apache: nginx kennt keine .htaccess; alle Regeln stehen in einer Konfiguration, die nur der Serververwalter ändert.
Was nginx auszeichnet
Die Art, wie er wartet. Statt für jede Verbindung einen eigenen Prozess zu halten, bearbeitet ein Arbeitsprozess viele Verbindungen und kümmert sich jeweils um die, bei der etwas passiert. Dadurch bleibt der Speicherbedarf fast gleich, ob zehn oder zehntausend Besucher verbunden sind.
Dazu kommt die Rolle als Vermittler. nginx nimmt Anfragen an, gibt sie an eine Anwendung weiter und liefert deren Antwort aus, oft zusammen mit Zwischenspeicherung und Komprimierung. Bilder, Stylesheets und Skripte gibt er dabei selbst heraus, ohne die Anwendung zu bemühen.
Was beim Umstieg auf nginx auffällt
Die fehlende .htaccess. Alle Umschreibungen, Weiterleitungen und Schutzregeln müssen in die Serverkonfiguration übertragen werden, und ihre Schreibweise unterscheidet sich. Wer eine gewachsene Regelsammlung hat, prüft nach dem Umzug jede Weiterleitung einzeln nach.
Der zweite Punkt ist PHP. nginx reicht die Anfrage an einen eigenen Dienst weiter, der sie ausführt. Dessen Prozesszahl und Laufzeit sind die Werte, an denen später gedreht wird, wenn Aufrufe mit einem Statuscode 502 oder 504 abbrechen.
Wo nginx eingesetzt wird
Als Webserver für Anwendungen, als Verteiler vor mehreren Instanzen und als Zwischenspeicher vor einer langsamen Anwendung. In dieser letzten Rolle liefert er fertige Seiten aus dem Speicher aus und lässt die Anwendung nur arbeiten, wenn wirklich etwas Neues gebraucht wird.