Habt ihr schon einmal von Nginx gehört? Wir wetten, viele von euch kennen den Begriff, wissen aber nicht so recht, was sie davon halten sollen oder worum es sich dabei handelt.
Gerade in der WordPress-Szene war und ist das Thema Nginx sehr populär. Kommt es doch gerne mal in Verbindung mit Performance-Optimierung und Pagespeed, dem Caching und den entsprechenden Einstellungen zu Wort.
Heute bringen wir Licht ins Dunkel, indem wir euch Nginx ein wenig näherbringen und erläutern, was hinter dem Begriff steckt und worum es dabei genau geht.
Was ist Nginx?
Bei Nginx handelt es sich um eine Software für Webserver, ähnlich wie Apache. Bekannt wurde Nginx vor allem, weil es Unzulänglichkeiten von anderen Systemen umging und vermeintlich mehr Optimierung und Geschwindigkeit bot. Das sorgte dafür, dass es inzwischen von fast 50 Prozent der Top 1.000 Websites mit dem höchsten Traffic verwendet wird. Verschiedene Statistiken deuten außerdem darauf hin, dass der Marktanteil von Nginx bei ungefähr 30 bis 40 Prozent liegt.
Entwickelt von Igor Sysoev und veröffentlicht unter der BSD-Lizenz, war es ursprünglich speziell auf die Bedürfnisse von Rambler zugeschnitten, einer russischen Suchmaschine. Von dort aus verbreitete sich die Software und wird heute unter anderem bei Wordpress.com, duckduckgo.com und sogar Netflix verwendet.
Ausgesprochen wird der Name übrigens »En-Gin-Ex« oder auch »Engine-Ex«. Seit 2011 gibt es zudem eine sogenannte Nginx Plus Fassung der Software, die kommerziell vertrieben wird. Den Mehrwert stellen hier der offizielle Support und die verschiedenen Premium Module dar.
Welche Vorteile bietet Nginx?
Der Grundgedanke von Nginx war, dass Apache als Serversoftware nicht effizient genug erschien. Die russische Suchmaschine benötigte damals etwas mit mehr Flexibilität und so kam Nginx als Neuentwicklung gerade zur rechten Zeit, da es speziell auf diese Bedürfnisse angepasst werden konnte.
Im Fokus standen dabei eine möglichst hohe Parallelität bei äußerst geringer Speichernutzung. Statt einzelne Prozesse zu starten, nutzt Nginx zum Beispiel einen asynchronen Prozess in nur einem Thread. Ein Master-Prozess leitet dann verschiedene Worker-Prozesse. Da bei Nginx alles asynchron abläuft, kann jede Aktion vom Worker-Prozess gleichzeitig stattfinden.
Die Vorteile von Nginx betreffen also in erster Linie die hohe Parallelität und die damit einhergehende Flexibilität. Nginx ist somit besonders schnell, ohne dabei unnötig viele Ressourcen zu verschwenden. Das macht es zu einer effizienten Serversoftware, deren Vorteile dann auch auf andere Systeme wie WordPress übertragen werden können.
Nginx und WordPress?
Zunächst einmal ist Nginx simpel zu verwenden, ähnlich wie WordPress. Während Apache oft weitere Module benötigt, ist Nginx nach der Installation direkt einsatzbereit, ohne zusätzliche Konfigurationen.
Außerdem besitzt Nginx einen Mikrocache und funktioniert im Zusammenspiel mit einem Fastcgi-Cache. Dafür wiederum gibt es verschiedene WordPress Plugins, welche den Fastcgi-Cache gezielt hinzuziehen und für einen unglaublichen Geschwindigkeitszuwachs sorgen können.
Vor allem im High-Traffic Bereich kann Nginx daher glänzen und wird entsprechend gerne und oft eingesetzt. Dabei kann Nginx problemlos das Vierfache an Verbindungen aufbauen, als es unter Apache möglich ist. Es kommt also auch zu Spitzenzeiten und bei Lastspitzen ressourcenschonend zurecht, ohne unter den Anfragen zusammenzubrechen.
PHP und Dynamik innerhalb von Nginx
Kein Problem, jedoch eine kleine Besonderheit, ist, dass Nginx nicht direkt mit PHP und Dynamiken zurechtkommt. Es verarbeitet dynamische Inhalte also nicht selbstständig, wie es für gewöhnlich oft der Fall ist, sondern leitet sie weiter an einen separaten Prozess.
Im Falle von PHP leitet Nginx den Prozess an einen PHP-Interpreter um, der die Anfrage bearbeitet und als finales Ergebnis zurück an Nginx sendet. Auch hier spielt dann erneut Fastcgi eine tragende Rolle.
Das alles klingt jetzt erst einmal danach, als wäre die Bearbeitung von PHP unter Nginx ein enormer Aufwand, der mit Umwegen und Umleitungen einhergeht. Das scheint aber nur so, denn durch die Auslagerung dieser Prozesse bekommt die Serversoftware selbst mehr Performance und ist direkt nach der Anfrage wieder mit vollständiger Leistung verfügbar.
Fazit zu Nginx
Nginx ist schnell, vor allem aber schneller als Apache. Das liegt unter anderem daran, dass es nur bei Bedarf reagiert. Ein Master-Thread kontrolliert beliebig viele Worker-Prozesse. Diese Arbeitsweise spart Ressourcen und somit benötigt und verbraucht Nginx deutlich weniger Arbeitsspeicher und CPU-Leistung.
Ein Problem für den ein oder anderen dürfte jedoch sein, dass Nginx keine .htaccess-Dateien kennt. Wer es also gewohnt ist, seinen WordPress Blog mitsamt Umleitungen und Routinen über die .htaccess zu steuern, könnte Schwierigkeiten bekommen. In Nginx wird das alles direkt in der Konfiguration erledigt.
Schlussendlich ist es aber vor allem die Performance, die Nginx den Vorteil gegenüber Apache verschafft. Eingesetzt wird es daher gerne in speziellen Konfigurationen auf großen Websites, die über viel Traffic und somit ein hohes Besucheraufkommen verfügen. Auch in der WordPress-Szene ist es beliebt, weil es das ansonsten eher träge WordPress deutlich beschleunigen kann.
by A-DIGITAL one
Unsere Herzen schlagen Digital, unsere Projekte leben Digital, unsere Kunden lieben und schätzen Digital! Die einzigartige digitale Performance, die wir seit 1999 an den Tag legen.
Mit unserem Team von über 45 Experten begleiten wir Sie auf Ihrem Weg der digitalen Transformation. Mit klaren Strategien, persönlicher Betreuung und exzellenter Ausführung entwickeln wir, innovativ und individuell, maßgeschneiderte digitale Lösungen, die performen und verkaufen können.