Nginx

NgineX

Copyright ┬ę Shutterstock / Paolo De Gasperis

Was ist Nginx?

Nginx (gesprochen: “Engine ex”) ist prim├Ąr eine Webserver-Software, die aber auch als Reverse Proxy oder als E-Mail-Proxy (f├╝r POP3/ IMAP) eingesetzt werden kann. Im Dezember 2017 wurde die L├Âsung f├╝r 62,7 Prozent der Top 10.000 Webseiten weltweit eingesetzt. In Russland l├Ąuft die gro├če Mehrzahl der Webseiten mit dieser L├Âsung. Erstaunlicherweise hat die Software aber in Deutschland noch gro├če Schwierigkeiten sich durchsetzen, liegt ihr Marktanteil hier doch noch unter 10 Prozent. Dabei bietet die L├Âsung gerade f├╝r kleinere Hardware-Konfigurationen entscheidende Vorteile gegen├╝ber der hierzulande bekannteren und wesentlich h├Ąufiger eingesetzten Apache-Alternative.

Aktivieren Sie JavaScript um das Video zu sehen.
Video-Link: https://www.youtube.com/watch?time_continue=37&v=DB5VCHlcai8

Geschwindigkeit und Konfigurierbarkeit: Leistung als Vorteil von Nginx

Nginx wurde erstmals 2011 ver├Âffentlicht und vom Russen Igor Sysoev f├╝r die hiesige Suchmaschine Rambler konzipiert. Die Software lie├č sich jedoch schon in ihrer ersten Version ausgesprochen einfach konfigurieren und arbeitete deutlich schneller als das Pendant von Apache. Ginge es ausschlie├člich nach Leistungsgesichtspunkten, m├╝sste Nginx ├╝berall Marktf├╝hrer sein: Immer wieder haben Vergleichstests gezeigt, dass die Software im gleichen Zeitraum wesentlich mehr Anfragen als eine Apache-L├Âsung bearbeiten kann und daf├╝r weniger Speicher ben├Âtigt.

Die Entwickler der Software selbst sprechen davon, dass ihre L├Âsung mindestens 10 Mal schneller sein solle ÔÇô und h├Ąufig sogar 100 bis 1000 Mal schneller als eine vergleichbare Apache-Konfiguration sein k├Ânnen. Bei gleicher Hardware ist Nginx deshalb immer ├╝berlegen und eignet sich insbesondere f├╝r schw├Ąchere Aufbauten.

Unternehmen, die seit 2014 neue Webserver in gro├čer Zahl aufgesetzt haben, lie├čen sich von diesen Vorteilen ├╝berzeugen und entschieden sich f├╝r Nginx. Beispielsweise Netflix, WordPress.com, Hulu, Doodle, ImageShack oder Golem.de arbeiten mit der russischen Software. Diese hohe Popularit├Ąt f├╝hrte aber auch zum Erfolg des kommerziellen Angebots “Nginx Plus”, das kostenpflichtige Module und einem ebensolchen Support anbietet. Urspr├╝nglich wurde die Software unter der freien BSD-Lizenz ver├Âffentlicht, seit August 2014 wurde sie allerdings aus OpenBSD entfernt und steht seit damals, genau wie Apache, nur noch als Port zur Verf├╝gung.

Beispiel Reverse-Proxy: Modularer Aufbau als zus├Ątzlicher Vorteil

Nginx ist als Software durch einen modularen Aufbau gekennzeichnet. Im Alltag ist dies gleich an mehreren Stellen vorteilhaft. Vereinfacht gesagt zeichnet das Programm eine gewisse Wandelbarkeit aus, die es ihm gestattet, unterschiedliche Rollen einzunehmen. Beispielsweise kann die Software als Reverse Proxy fungieren, was wiederum in kleinen Hardware-Konfigurationen gro├če Vorteile bietet.

Wer mit einem solchen Aufbau arbeitet, m├Âchte h├Ąufig auch von unterwegs auf das Mediencenter oder beispielsweise auf die Zentrale f├╝r die Heimsteuerung zugreifen. Die meisten Heimanwender schaffen es noch, die passende URL mittels DynDNS aufzusetzen. Sie wissen auch, dass am Router noch spezielle Ports freigeschaltet werden m├╝ssen, um den Zugriffe auf die Ger├Ąte zu gestatten. Was ihnen jedoch h├Ąufig nicht klar ist ÔÇô der Router wird dadurch extrem angreifbar. Der Reverse Proxy f├╝llt diese L├Âcher und sorgt daf├╝r, dass die Sicherheit nicht leidet. Er nimmt die Anfragen der externen Klienten entgegen und leitet diese weiter oder lehnt sie ab, wenn sie nicht autorisiert sein sollten.

Nginx f├╝r die Cloud: Klassische Grenzen werden eingerissen

Die Server-Software eignet sich durch ihre besonderen Charakteristika zudem auch ausgesprochen gut f├╝r den Einsatz in der Cloud. Vermieden wird der sogenannte “Vendor Lock-in” bzw. der “Lock-in-Effekt”, der einen durch technische Grenzen an einen Hersteller bindet. Bestehende Systeme k├Ânnen problemlos in ├Âffentliche, private oder hybride Cloud-L├Âsungen transferiert werden. Die Plus-Version der Software gestattet es zudem, Daten an eine unbegrenzte Zahl unterschiedlicher Apps auszuliefern. Diese k├Ânnen zugleich ├╝ber eine einzelne Instanz der Software angesprochen werden, was einen deutlichen Performance-Vorteil bietet.

Die Software ist im Cloud-Einsatz kompatibel mit Programmen wie Kubernetes, Meses, Docker und den g├Ąngigen App-Entwickler-Tools. Die Software bietet zudem Features wie umfassende Sicherheitskontrollen, Content Caching und Ratenbegrenzungen, die es in dieser Form nicht von Hause aus in den nat├╝rlichen Cloud Balancers gibt.

Die Nachteile von Nginx gegen├╝ber Apache

Betreiber von gro├čen Server-Konfigurationen haben in der Regel zwei Gr├╝nde, weshalb sie sich f├╝r Apache entscheiden bzw. bei der entsprechenden Software-L├Âsung bleiben und nicht den Wechsel vollziehen:
1. Das auf Apache gespeicherte Wissen l├Ąsst sich nur mit gro├čem Aufwand auf das russische Pendant ├╝bertragen, da doch einige Dinge in der Hardware-Ansprache anders handgehabt werden. Eine automatische ├ťbernahme der Konfiguration ist nicht m├Âglich.
2. Apache ist an manchen Stellen flexibler.

Dieser zweite Punkt verdient eine tiefere Betrachtung. Nginx ist die schlankere L├Âsung, aber dies ist Vor- und Nachteil zugleich. Beispielsweise k├Ânnen in der Software keine Anpassungen der Konfigurationen auf Verzeichnisebene vorgenommen werden, wie dies z.B. mit Apache ├╝ber die “htaccess-Dateien” m├Âglich ist. Daraus resultiert au├čerdem ein Folgeproblem: Einige Anwendungen sind auf eine Weise konzipiert, dass sie spezielle Apache-Module tief im Code ansprechen. Auch hierf├╝r bietet die Software (noch) keine L├Âsung. In einem solchen Fall ist die L├Âsung unbrauchbar, wenn die Anwendung nicht getauscht werden kann (oder soll).

Die Konfiguration von Nginx: Schwieriger als Apache ÔÇô und doch besser

Die Installation von Nginx gelingt unter Linux einfach und schnell. Auch Einsteiger sollten dies problemlos schaffen. Zuerst sollten alle laufenden Apache-Versionen beendet werden (Kommando: sudo service apache2 stop) . Im Terminal gen├╝gt dann der folgende Befehl: sudo apt-get install nginx. Anschlie├čend kann die Software mit dem folgenden Befehl starten: sudo service nginx start.

Im identischen Terminal sollten Sie dann den folgenden Befehl eingeben: curl 127.0.0.1. Mit jenem ├╝berpr├╝fen Sie, ob der Start der Software erfolgreich war.

Anschlie├čend geht es zur Konfiguration der Software. Diese l├Ąuft etwas komplizierter als Apache, was allerdings ihr Vorteil ist. Bei Apache muss lediglich ein Modul aktivieren, um dadurch alle dynamischen Inhalte mittels PHP ausliefern zu lassen. Nginx verlangt dagegen, dass PHP ├╝ber einen Hilfsprozess zuerst ausgef├╝hrt wird. Konkret l├Ąuft eine Anfrage dann so ab: Der Server nimmt die PHP-Anfrage an, leitet sie an den Hilfsprozess weiter, der setzt einen PHP-Interpreter ein und dieser schickt das Ganze zum Webserver.

Was kompliziert klingt, sorgt f├╝r den besonderen Speedvorteil der Software. W├Ąhrend bei Aapache der Server durch eine PHP-Anfrage die ganze Zeit belastet wird, ist dies bei Nginx nur kurze Zeit der Vorteil. Der Hilfsprozess sorgt f├╝r die Bereitstellung des dynamischen Inhalts und belastet auf diese Weise die Ressourcen des Servers nicht, der dadurch weitere Anfragen beantworten kann. Dieser Hilfsprozess tr├Ągt die Bezeichnung “Fast Process Manager” (FPM). Er ist in den g├Ąngigen Distributionen im Paket “php-fpm” enthalten. Falls PHP bislang noch nicht auf dem System installiert sein sollte, wird dies vom FPM gleich ebenfalls erledigt.

Nachdem FPM als Service gestartet wurde (z.B. Befehl: sudo service php7.0-fpm start), kann die eigentliche Konfiguration beginnen. Wie es weitergeht, h├Ąngt davon ab, f├╝r welchen Dienst genau die Software angepasst werden soll. Wer beispielsweise WordPress als CMS installieren m├Âchte, sollte hierf├╝r einen Ordner “/var/www/wordpress” anlegen und f├╝r die weitere Arbeit nutzen.

Tipp

Einen ├ťberblick ├╝ber die Parameter f├╝r alle g├Ąngigen Anwendungen, die mit Nginx arbeiten, haben die Entwickler der Software in einem eigenen Wiki zusammengetragen.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte