Webserver

Nginx, was ist das?

Nginx (ausgesprochen „engine x“) ist eine ursprünglich von Igor Sysoev entwickelte, unter der BSD-Lizenz veröffentlichte Webserver-Software, Reverse Proxy und E-Mail-Proxy (POP3/IMAP). Nginx findet derzeit bei 42,3 % der Top 10.000 Websites Verwendung, u.a. bei Facebook, Netflix, Groupon, Intel, Dropbox und Wordpress sowie nun auch bei uns.

Wenn es um Webserver geht, fällt den meisten Administratoren zuerst Apache ein, der in der globalen Statistik des Web auch den ersten Rang belegt. Kleinere und schnellere Alternativen gewinnen aber immer mehr Anhänger. Dabei steht gerade nginx für hohe Performance, Stabilität, umfangreiche Features, einfache Konfiguration und geringen Ressourcenverbrauch.

Ladezeiten (Startseite mit CMS)

149 ms

Gewöhnliches Hosting

mit Apache

88 ms

nginx Hosting

ohne SSD mit nginx

42 ms

Knoll-IT Hosting

mit nginx, SSD-Festplatten, ZendOPCache und APCu

Besonderheiten

  • Keine .htaccess-Dateien

    Auf den ersten Blick sind sie einer der größten Vorteile von Apache, die .htaccess-Dateien, welche zur Absicherung des Webservers dienen. Doch da Apache alle übergeordneten Verzeichnisse einer Datei nach diesen mit jedem Aufruf durchsuchen muss, kostet das enorm viel Zeit. Apache bietet zwar auch eine zentrale Steuerungsdatei an, aber nach .htaccess-Dateien wird eben in jedem Fall auch gesucht.

  • Worker-Prozesse

    Apache startet mit jeder gestellten Anfrage einen neuen Prozess, um diese zu verarbeiten. Das ist nicht gerade performant. Bei Nginx gibt es sogenannte Worker-Prozesse, die mehrere Anfragen verarbeiten können. Je nach Anzahl der CPU-Kerne kann die Anzahl dieser festen Worker-Prozesse erhöht werden.
  • Leichte Konfiguration

    In dem Ordner /etc/nginx/sites-enabled/ können Dateien gespeichert werden, in denen wiederum virtuelle Hosts angelegt werden können. Virtuelle Hosts machen beispielsweise bei mehreren, unterschiedlichen Internetseiten auf einem Server Sinn. Innerhalb dieser Einträge können dann einzelne Verzeichnisse gesperrt, oder Umleitungen festgelegt werden. Nach etwas Einarbeitungszeit sollte die Website dann wie erwartet funktionieren.
  • Große Verbreitung

    Zugegeben, Apache hat einen großen Vorsprung im Marktanteil und wird diesen vermutlich auch in den nächsten Jahren noch nicht aufgeben müssen. Aber Nginx wird immer beliebter, gerade wenn es eines performanten Webservers bedarf. Entsprechend groß ist die Community, sodass bei Fragen zu Nginx häufig genug Mitglieder mit einer passenden Antwort bereitstehen.
  • Kombination mit Apache möglich

    Natürlich können Nginx und Apache auch zusammen eingesetzt werden. So kann Apache sich etwa ganz klassisch um PHP-Skripte kümmern, während der vorgeschaltete Nginx-Proxy statische Dateien ausliefert. Die beste Performance erreicht man aber nicht mit einer Mischung beider Systeme, daher bieten wir diese Mischkonfiguration nicht an.
  • Tolle Performance

    Das Argument für Nginx ist und bleibt die Performance. Nginx ist eben ein kompakter Server, der schneller als Apache statische Dateien ebenso wie dynamische Dateien ausliefern kann. Sowohl große Websites wie Facebook, als auch kleinere, die mehr aus ihrem Server herausholen wollen, können davon profitieren.
  • Open Source

    Die BSD-Lizenz ist eine Open-Source-Lizenz. Der Quellcode kann also von Außenstehenden eingesehen und auf etwaige Sicherheitslücken hin überprüft werden.