Definition: Webserver mit Load Balancer und API Gateway

Was ist NGINX?

| Autor / Redakteur: Stefan Luber / Florian Karlstetter

Webserver und Reverse Proxy in einem: NGINX ist ein ressourcenschonender, performanter Webserver für Webseiten mit hohem Verkehrsaufkommen.
Webserver und Reverse Proxy in einem: NGINX ist ein ressourcenschonender, performanter Webserver für Webseiten mit hohem Verkehrsaufkommen. (Bild: gemeinfrei (geralt / pixabay) / Pixabay)

Die von Igor Sysoev entwickelte Software NGINX beinhaltet einen Webserver, E-Mail-Proxy und Reverse Proxy. Sie ist unter BSD-Lizenz frei verfügbar und eignet sich dank der ressourcenschonenden Arbeitsweise besonders gut für Webseiten mit hohem Besucher- und Verkehrsaufkommen. Unter anderem setzen Netflix und WordPress NGINX ein.

NGINX (ausgeprochen „engine x“) ist ein unter BSD-Lizenz stehender Webserver und Reverse Proxy. Die Software NGINX ist 2004 erschienen und wurde von Igor Sysoev entwickelt. Sie beinhaltet einen Webserver, E-Mail-Proxy und Reverse Proxy und steht unter BSD-Lizenz. Darüberhinaus ist seit 2011 die kostenpflichtige Premium-Version NGINX Plus verfügbar, die offiziellen Support beinhaltet und erweiterte Funktionen bietet. Ursprünglich war NGINX für die russische Suchmaschine Rambler konzipiert, für die sie noch heute eingesetzt wird.

NGINX deckt als moderner Webserver alle essentiellen Bereiche ab: Load Balancing, Microservices, Cloud (selbstredend), Security, Web & Mobile Applications und dient auch als API Gateway.
NGINX deckt als moderner Webserver alle essentiellen Bereiche ab: Load Balancing, Microservices, Cloud (selbstredend), Security, Web & Mobile Applications und dient auch als API Gateway. (Bild: Nginx)

Wesentliche Merkmale von NGINX sind der schonende Umgang mit den Serverressourcen und die hohe Performance. Dies macht NGINX prädestiniert für den Einsatz für Webseiten mit hohem User- und Trafficaufkommen. Circa zwei Drittel der 10.000 trafficreichsten Webseiten nutzen NGINX. Der Marktanteil des NGINX-Webservers liegt weltweit mittlerweile im zweistelligen Prozentbereich. Bei Domains mit der Endung .ru beträgt der Marktanteil sogar über 60 Prozent. Webseiten, die den Webserver verwenden, sind beispielsweise der Streamingdienst Netflix, WordPress, t3n.de, Golem.de, SourceForge, GitHub, Doodle, SoundCloud und viele mehr. NGINX konkurriert mit anderen Webservern wie dem Apache Webserver, dem Google Web Server und dem Webserver von Microsoft mit dem Namen Internet Information Services (IIS). Die Software arbeitet auf Systemen mit Linux- oder Windows-Betriebssystem. Die aktuellste Version (Stand Mai 2019) ist NGINX 1.17.0.

Die wesentlichen Merkmale von NGINX

NGINX besitzt einen modularen Aufbau und übernimmt verschiedene Aufgaben. So lassen sich mit der Software nicht nur Webserver realisieren. NGINX kann auch als Reverse Proxy oder als Loadbalancer fungieren. Mit dem NAXSI-Modul wird NGINX sogar zu einer leistungsfähigen Web Application Firewall. Die grundsätzliche Arbeitsweise von NGINX ist ereignisgesteuert und asynchron. Dies hat den Vorteil, dass nicht für jede einzelne Anfrage ein neuer Prozess erzeugt werden muss. Die Anzahl der Anfragen hat kaum Einfluss auf die Leistung der Software. Mehrere Tausend Anfragen lassen sich mit wenig Speicherverbrauch und geringer CPU-Belastung gleichzeitig bearbeiten.

NGINX und die Bearbeitung dynamischer Inhalte wie PHP-Anfragen

Im Gegensatz zum Apache Webserver kann der NGINX-Server dynamische Inhalte nicht selbst verarbeiten. Der Server nimmt dynamische Anfragen wie PHP-Anfragen entgegen und leitet sie an einen separaten Prozess weiter. Ein PHP-Interpreter bearbeitet die Anfrage und liefert das Ergebnis an NGINX zurück. Für die Bearbeitung der PHP-Anfragen lässt sich beispielsweise der FastCGI Process Manager (PHP-FPM) nutzen. Zunächst bedeutet die Auslagerung der Bearbeitung dynamischer Inhalte erhöhten Konfigurationsaufwand. Doch letztendlich reduziert dieses Konzept die Belastung des NGINX-Servers und macht das Gesamtsystem wesentlich performanter. Direkt nach der Weiterleitung der Anfrage steht der NGINX-Webserver wieder mit voller Leistungsfähigkeit zur Verfügung.

NGINX und die gängigen Content Management Systeme und Onlineshop-Systeme

Nahezu alle gängigen Content Management Systeme (CMS) und Onlineshop-Systeme arbeiten mit dynamischen PHP-Inhalten. Zwar verarbeitet NGINX, wie im vorigen Kapitel erläutert, die PHP-Anfragen etwas anders als Apache, doch ist die Software mit allen PHP-Funktionen voll kompatibel. Grundsätzlich lassen sich alle wichtigen CMS wie WordPress, Joomla, TYPO3 und Drupal sowie alle gängigen Onlineshop-Systeme wie Magento, Shopware oder PrestaShop unter NGINX problemlos betreiben. Eine Besonderheit stellen .htaccess-Dateien dar. NGINX kennt keine .htaccess-Dateien und konfiguriert Regeln wie Weiterleitungen oder Rewrite Rules direkt in der NGINX-Konfiguration. Unter Umständen ist bei den Systemen eine Anpassung der Konfiguration vorzunehmen. Webhoster bieten für die NGINX-Konfiguration oft Hilfsmittel wie einen .htaccess-Konverter oder spezielle Administrationssoftware. Zudem existieren für die gängigen Content Management Systeme und Onlineshop-Systeme vorgefertigte NGINX-Konfigurationen, die sich mit wenigen Mausklicks übernehmen lassen.

Abgrenzung von NGINX und Apache

NGINX besitzt eine grundlegend andere Architektur als Apache. Während bei Apache beispielsweise für die Bearbeitung dynamischer Inhalte lediglich ein Modul zu aktivieren ist, benötigt ein NGINX-Server einen separaten Hilfsprozess. Auch alle eingehenden Verbindungen werden von Apache anders bearbeitet. Für jede eingehende Verbindung startet Apache einen Prozess oder Thread. Sind viele Verbindungen vorhanden, ist das System durch die vielen separaten Prozesse stark belastet und die Leistung des Webservers sinkt. Bei NGINX gibt es nur wenige Prozesse, von denen jeder viele tausend Verbindungen halten und bearbeiten kann. Ein weiterer Unterschied zwischen Apache und NGINX ist, wie im vorigen Kapitel angesprochen, die bei NGINX nicht vorhandene .htaccess-Datei.

Die wichtigsten Vorteile von NGINX

Die wichtigsten Vorteile von NGINX sind kurz zusammengefasst folgende:

  • schlanke Programmierung
  • geringer Speicherbedarf
  • geringe CPU-Belastung
  • ereignisbasierte Arbeitsweise mit performanter Bearbeitung vieler gleichzeitiger Anfragen
  • kurze Ladezeiten der Seiten auch bei hoch belasteten Webservern mit viel Traffic und Verbindungen
  • durch die kürzeren Ladezeiten der Webseiten verbessert sich das Suchmaschinenranking und Konversionsraten erhöhen sich
  • Performanceverbesserung dank Auslagerung der Bearbeitung dynamischer Inhalte zu einem Hilfsprozess
  • optimales Zusammenwirken mit schneller SSD-Speichertechnik
  • geeignet für datenbanklastige Anwendungen
  • viele Module für Zusatzaufgaben verfügbar
  • kommerzielle NGINX Plus-Variante mit Supportleistungen und erweiterter Funktionalität verfügbar
  • Unterstützung aller gängigen Content Management Systeme und Onlineshop-Systeme

Die wichtigsten Nachteile von NGINX

Neben den vielen Vorteilen kann die Nutzung on NGINX auch einige Nachteile mit sich bringen. Folgende Nachteile lassen sich aufführen:

  • keine Unterstützung für die Vergabe von Zugriffsrechten oder das Anlegen von Umleitungen und Rewrites per .htaccess-Datei
  • zusätzliche Installation eines Softwarepakets für die Verarbeitung dynamischer Inhalte notwendig
  • Änderungen in der globalen Konfiguration von NGINX erfordern ein Neuladen des Servers und können bei Fehlern die komplette Serverinstanz betreffen
  • allgemein etwas höherer manueller Konfigurationsaufwand

NGINX Plus - die kommerzielle Variante der NGINX-Software

NGINX existiert nicht nur in einer frei verfügbaren Open-Source-Version, sondern ist auch als kostenpflichtige Premium-Version einsetzbar. Diese nennt sich NGINX Plus und wird vom Unternehmen NGINX Inc. betreut. Seit 2019 gehört NGINX Inc. zum Unternehmen F5 Networks. Die kommerzielle NGINX-Variante bietet Support, einen gemanagten Release-Prozess durch NGINX Inc. und zahlreiche erweiterte Funktionen. Zum erweiterten Funktionsumfang zählen beispielsweise:

  • Monitoring-Funktionen wie das Live Activity Monitoring
  • Management-Funktionen
  • dynamische Rekonfiguration ohne Reload der Serverprozesse
  • DNS Service-Discovery Integration
  • Cache-purging API
  • MP4 Bandbreitenkontrolle

Mit dem Zukauf von NGINX durch F5 sieht sich der Web Application Security-Anbieter gut gerüstet für NetOps- und DevOps-Szenarien und beschreibt das auf der Firmenwebsite folgendermaßen: „Anwendungsdienste vom Code bis zum Kunden: F5 und NGINX überbrücken die Kluft zwischen Entwicklung und Betrieb mit einem bewährten Multi-Cloud-Anwendungsportfolio, das es ermöglicht, sich auf die Entwicklung und Bereitstellung skalierbarer, leistungsstarker und sicherer Anwendungen zu konzentrieren.“

Microservices, Cloud Native, REST API , Kubernetes & Co.: Cloud Computing Wiki

Definitionen rund um Cloud ComputingVon AWS bis XaaS: Alle relevanten Schlagworte aus dem Bereich Cloud Computing finden Sie verständlich erklärt in unseren Definitionen. Ganz im Sinne eines kleinen, aber feinen Glossars lesen Sie hier neutral verfasste und leicht verständliche Erklärungen zu den wichtigsten Begriffen. Als Service für Sie haben wir die hier erklärten Begriffe in unseren Beiträgen auch direkt mit den zugehörigen Lexikoneinträgen verlinkt. So können Sie die wichtigsten Begriffe direkt dort nachschlagen, wo sie im Text auftauchen.  

Zum Special: Definitionen rund um Cloud Computing

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Open Source verbindet DevOps und NetOps

Continuous Deployment verwirklichen

Open Source verbindet DevOps und NetOps

Die Bereitstellung von Anwendungen muss sich in Unternehmen verändern, um in einer Multi-Cloud-Welt die Anforderungen an Konsistenz und Transparenz zu erfüllen. Open Source kann hier die Kluft zwischen DevOps und NetOps überwinden. lesen

Application Delivery Controller: Markt im Umbruch

Grundlegende architektonische Änderungen – ein Kommentar

Application Delivery Controller: Markt im Umbruch

Anbieter von veralteten Load Balancern werden schon bald vom Markt für Application Delivery Controller (ADC) verschwinden. Stattdessen werden vermehrt moderne Technologien in den Fokus rücken – beim Kampf um einen Markt, der in zwei Jahren 6 Mrd. US-Dollar schwer sein soll. Ein Grund mehr für VMware, AVI Networks zu übernehmen. lesen

Was bedeutet LAMP?

Definition: LAMP - Linux, Apache, MySQL und PHP

Was bedeutet LAMP?

LAMP ist ein Akronym, das sich aus den Anfangsbuchstaben der Software Linux, Apache, MySQL und PHP zusammensetzt. Es handelt sich um eine Softwareumgebung für Serversysteme, mit denen sich statische oder dynamische Webinhalte zur Verfügung stellen lassen. LAMP-Systeme kommen auch als Entwicklungssysteme zum Einsatz. lesen

Noch mehr Clouds mit VMware

Multi-Cloud und VMware Cloud on AWS

Noch mehr Clouds mit VMware

„VMware Cloud“ soll eine konsistente Infrastruktur sowie einheitliche Betriebsabläufe für ein gleichbleibendes Nutzererlebnis bieten, und zwar von Cloud über das Rechenzentrum bis hin zum Endgerät. Zudem ist „VMware Cloud on AWS“ nun auch in der Zone „AWS EU“ (London) verfügbar. lesen

Microservices – Ein Einstieg in die Praxis

Was sich bei der Microservice-Einführung bewährt hat

Microservices – Ein Einstieg in die Praxis

Viele Unternehmen wollen monolithische Anwendungen umgestalten und Microservice-Architekturen für mehr Agilität und Skalierbarkeit aufbauen. Doch wie gelingt der Einstieg ins Thema Microservices? Nach welchen Prinzipien sollte man arbeiten? Was sind die Erfolgsfaktoren und wo liegen die Fallen? Ein Leitfaden liefert erste Anhaltspunkte. lesen

Grundlagen und Zweck von AWS Elastic Beanstalk

Anwendungsbereitstellung unter AWS automatisieren

Grundlagen und Zweck von AWS Elastic Beanstalk

Elastic Beanstalk erleichtert Entwicklern das Bereitstellen und Verwalten von Anwendungen in der AWS-Cloud. Entwickler laden einfach ihre Anwendung und der Service verwaltet automatisch Kapazitätsbereitstellung, Lastverteilung, automatischen Skalierung und Statusüberwachung. lesen

Virtualisierung erreicht mit „Cloud aus der Box“ die nächste Stufe

Die Fertig-Cloud

Virtualisierung erreicht mit „Cloud aus der Box“ die nächste Stufe

Mit einer Cloud aus der Box, die sich selbst installiert, managt und bei Bedarf selbst repariert, leitet das Startup Zerostack die nächste Runde der Virtualisierung ein. Profitieren sollen Unternehmen, denen der Aufbau einer hoch automatisierten Private Cloud, meist auf VMware-Basis, häufig Probleme bereitet. lesen

Zukunft der Hoster liegt in Managed Services

HSP Summit 2017 – Marge mit E-Commerce und Managed WordPress

Zukunft der Hoster liegt in Managed Services

Über den Erfolg von Hostern entscheidet insbesondere die Wahl des Web-Stacks – denn professionelle Kunden achten hier besonders auf Skalierbarkeit und Sicherheit. Womit sich Anbieter noch gegen Hyperscaler durchsetzen, verrät Plesk-CTO Jan Löffler im Interview. lesen

Was können Amazon Web Services?

Public Cloud Services aus der Amazon Cloud

Was können Amazon Web Services?

Es ist die mit Abstand populärste Public Cloud weltweit: Die Amazon Web Services (AWS) verfügen laut Angaben des Marktforschungsunternehmens Synergy Research über einen Marktanteil von mehr als 30 Prozent. Microsoft Azure bringt es auf etwas mehr als zehn Prozent, danach folgen die Infrastrukturangebote von IBM und Google. Alle vier zusammen halten mehr als den halben Kuchen des globalen Cloud-Markts. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45986069 / Definitionen)