Über 5.000 Erfahrungsberichte von über 850 Hosting-Anbietern im Vergleich!

Was ist und macht der Nginx Webserver?

Hosttest.de
Autor: HOSTTEST-Redaktion  |  12.09.2019


nginx WebserverEin Webserver hat die Aufgabe, die Kommunikation zwischen einem Server (Host) und einer Verbindung von außen (Client) zu übernehmen und als Schnittstelle zwischen beiden zu dienen. Er nimmt die Anfrage entgegen, leitet sie an das eigene System weiter und sendet die Antwort an den verbundenen Computer zurück. Bei der Software nginx handelt es sich um einen sehr flexiblen, effizienten und stabilen Webserver, der auf die Bedürfnisse von großen Webseiten mit zahlreichen parallelen Verbindungen und eine parallele Verarbeitung der Informationen zugeschnitten ist. Bei der Geschwindigkeit zeigt er große Vorteile gegenüber dem Marktführer Apache 2, da er ein anderes Konzept bei der Verwaltung und der Bearbeitung der einzelnen Prozesse verwendet. Beide Systeme haben wir bereits in diesem Artikel mit einander verglichen.

 

Inhalt:

Der Webserver nginx als Antwort auf Nachteile von Apache 2
Ein spezieller Webserver für Internetseiten mit extrem hohen Besucherzahlen
Die technische Funktionsweise von nginx als Webserver
Gemeinsamkeiten zwischen nginx und Apache 2 - ein modularer Aufbau

Der Webserver nginx als Antwort auf Nachteile von Apache 2

Um die Besonderheiten und die speziellen Vorteile von nginx zu verstehen, hilft es, seinen Hintergrund und seine Entstehung zu betrachten. Der Webserver wurde in seiner ersten Version im Oktober 2004 veröffentlicht und stammt von dem russischen Programmierer Igor Sysoev, der zehn Jahre zuvor sein Studium der Informatik an der Staatlichen Technischen Universität Moskau erfolgreich abgeschlossen hatte. Sysoev schnitt seinen Webserver nginx auf die Bedürfnisse der russischen Suchmaschine Rambler zu, für dessen Situation Apache 2, das bislang quasi ein Monopol innehatte, ungeeignet war.

Der Grund liegt in der Art und Weise, in der Apache 2 eingehende Verbindungen verwaltet: Der Webserver startet für jeden verbundenen Client einen eigenen Prozess, der seinerseits sowohl Speicherplatz wie Rechenperformance in Anspruch nimmt und diese exklusiv für sich reserviert. Bei einer geringen bis mittleren Anzahl von Anfragen stellt dies kein Problem dar, bei sehr vielen parallelen Verbindungen sinkt die Effizienz und damit die Geschwindigkeit wegen des steigenden Aufwands für die Verwaltung der Prozesse jedoch stetig. Konkret bedeutet dies: Je mehr Besucher gleichzeitig eine Webseite mit Apache 2 als Webserver aufrufen, desto mehr Ressourcen benötigt das System für jeden einzelnen Besucher.

Ein spezieller Webserver für Internetseiten mit extrem hohen Besucherzahlen

Für eine Webseite mit einem extrem hohen Aufkommen an Besuchern und gleichzeitig mit relativ kurzer Verweildauer - Bedingungen, die nahezu perfekt auf eine Suchmaschine zutreffen - ist das Konzept von Apache 2 denkbar schlecht geeignet. Um deren Anforderungen zu erfüllen, muss ein Webserver vor allem folgende Bedingungen erfüllen:

  • Sehr hohe Effizienz in der Speicherverwaltung
  • Parallele Bearbeitung von zahlreichen Verbindungen
  • Hohe Geschwindigkeit bei der Übergabe von Informationen
  • Flexibles Design für Differenzierung von Anfragen z. B. nach Herkunft
  • Hohe Performance der Software
  • Möglichkeit zur Erweiterung um zusätzliche Funktionen
  • Unterstützung für Verteilung der Last auf mehrere Server
  • Kompatibilität mit unterschiedlichen Skriptsprachen
  • Hohe Stabilität selbst unter kritischen Bedingungen und bei knappen Ressourcen

Aus diesen Anforderungen entstand nginx als modularer Webserver, der auch bei hohen Lasten und simultanen Anfragen von weit über 10.000 oder 100.000 Clients diese effizient verwaltet und mit hoher Geschwindigkeit bearbeitet.

Die technische Funktionsweise von nginx als Webserver

Ein wesentlicher Unterschied zwischen nginx und Apache 2 besteht in der Verwaltung der Prozesse, die die Verbindung zu den Clients aufrechterhalten, bis die Kommunikation von einer Seite beendet wird. Apache 2 startet für jeden Client einen eigenen Kindprozess, um ihn von den anderen zu isolieren und dadurch Stabilität zu schaffen. Im Gegensatz dazu bündelt der Webserver nginx die Anfragen in einer Instanz und ist in der Lage, mehrere Tausend von ihnen durch einen einzigen Kindprozess zu verarbeiten. Dadurch beseitigt es einen der größten Nachteile von Apache 2 - den mit Zunahme der Besucher exponentiell wachsenden Rechenaufwand, der ausschließlich für die Ressourcenverwaltung benötigt wird und den Webserver bei Geschwindigkeit und Effizienz immer stärker einschränkt.

Gemeinsamkeiten zwischen nginx und Apache 2 - ein modularer Aufbau

Um die Performance der Software zu optimieren, muss ein Webserver in seiner Basis möglichst schlank sein und sparsam mit den vorhandenen Ressourcen umgehen. Gleichzeitig sollte er sich an unterschiedliche Umgebungen und Aufgaben anpassen können, um die notwendige Flexibilität für wechselnde Bedingungen und Herausforderungen zu gewährleisten. Dies erreichen sowohl Apache 2 wie auch nginx durch einen modularen Aufbau, bei dem das Hauptprogramm je nach Bedarf durch unterschiedliche Erweiterungen individualisiert und um unterschiedliche Funktionen und Fähigkeiten ergänzt werden kann. Diese Module umfassen zahlreiche unterschiedliche Kategorien und dienen speziellen Zwecken wie zum Beispiel:

  • Lokalisierung: Verarbeitung von Anfragen entsprechend dem Standort des Clients
  • Interfaces: Anbindung an externe Interpreter wie Skriptsprachen
  • Kompression: Effizienter Datenverkehr durch Komprimieren der Information
  • Multimedia: Auslieferung von Bildern, Videos oder Streams über spezielle Protokolle
  • Sicherheit: Identifizierung und Authentifizierung von Clients
  • Verschlüsselung: Anwendung von sicherer Kryptografie wie SSL und TLS
  • Monitoring: Überwachung und Logging für den Webserver
  • Um- und Weiterleitung: Interne Transkribierung von Adressen nach definierten Regeln
  • Kommunikation: Erweiterung um Unterstützung für Mail- oder Chatprotokolle

Zahlreiche Module wie etwa die Verschlüsselung entsprechend dem SSL-Standard gehören fest zu der Grundausstattung von nginx, andere müssen auf Wunsch in den Webserver integriert werden. Dabei zeigt sich ein weiterer, deutlicher Unterschied zwischen nginx und Apache 2. Wegen seines statischen Aufbaus unterstützt nginx - von wenigen Ausnahmen abgesehen - nicht das nachträgliche Laden von Modulen als externe Programmteile. Sie müssen bei der Kompilation von nginx bereits fest integriert werden, während Apache 2 diese unabhängig von seinem Kern zu einem beliebigen Zeitpunkt einfügt, aktiviert oder entfernt.

Foto: dlohner pixabay.com


Weitere Webhoster


Webhoster im Fokus Anzeige
Aktuelle Ausschreibungen
Cloud Server für Datenspeicherung
noch 6 Tage und 15 Stunden
Resellerhosting
Vor kurzem Beendet
Webhosting
Vor kurzem Beendet
Neueste Bewertungen
Brigitte K. hat ServMedia.de bewertet
M. V. hat HTML Design bewertet
Mario K. hat da-webart.eu bewertet
Michael hat Panel1 UG (haftungsbeschränkt) bewertet
Johannes hat Celeros Online KG bewertet
Daniel W. hat ServMedia.de bewertet
Peter hat Greatnet.de bewertet
Michael hat Celeros Online KG bewertet
Bruno hat noez.de (noez GmbH) bewertet
Jochen Z. hat uvensys GmbH bewertet
Valeria L. hat manitu bewertet
Otmar T. hat ServMedia.de bewertet
Norbert B. hat Alfahosting GmbH bewertet
Sabine H. hat Alfahosting GmbH bewertet
Jens S. hat ServMedia.de bewertet
Markus B. hat uvensys GmbH bewertet
Franz J. S. hat lima-city bewertet
Andre hat Servado bewertet
Damian hat lima-city bewertet

Mediapartner:
Webmaster Eye
hosttalk.de

Du bietest Hosting Leistungen an?

Über Hosttest.de

Hosttest stellt eine Plattform rund um das Thema Webhosting Vergleich dar. Dabei können Interessenten aus mehr als 800 Webhostern den für sie passendsten Webhoster anhand von über 5.000 Erfahrungsberichten und über 6.000 Angeboten zu Themen wie Webhosting Vergleich, Root-Server Vergleich, Vserver Vergleich und anderen Hosting-Produkten auswählen.

Zudem küren wir monatlich die TOP20 Webhoster in Deutschland bereits seit 2006.