Nginx Grundlagen

Aus Xinux Wiki
Version vom 29. Mai 2026, 07:01 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Einleitung == === Was ist Nginx? === * Webserver, Reverse Proxy und Load Balancer in einem * Erstveröffentlichung 2004 von Igor Sysoev (russischer Entwic…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Einleitung

Was ist Nginx?

  • Webserver, Reverse Proxy und Load Balancer in einem
  • Erstveröffentlichung 2004 von Igor Sysoev (russischer Entwickler)
  • Ziel: das sogenannte C10k-Problem lösen – 10.000 gleichzeitige Verbindungen mit einem Server bedienen
  • Heute einer der meistgenutzten Webserver weltweit

Architekturprinzip

  • Klassisches Modell (Apache): ein Prozess oder Thread pro Verbindung
  • Nginx-Modell: ereignisgesteuert, nicht-blockierend
  • Ein Worker-Prozess verwaltet tausende Verbindungen gleichzeitig
  • Speicher- und CPU-Bedarf wächst nicht proportional zur Verbindungszahl

Typische Einsatzbereiche

Webserver
Liefert statische Inhalte direkt aus dem Dateisystem; dynamische Inhalte werden per FastCGI/uWSGI an Backend-Prozesse weitergereicht (z. B. PHP-FPM)
Reverse Proxy
Nimmt Anfragen entgegen und leitet sie an Backend-Dienste weiter; TLS-Terminierung, Caching und Header-Manipulation zentral an einer Stelle
Load Balancer
Verteilt Anfragen auf mehrere Backend-Instanzen (Round-Robin, Least-Connections, IP-Hash)

Prozessmodell

  • Ein Master-Prozess: liest Konfiguration, bindet Ports, verwaltet Worker
  • Mehrere Worker-Prozesse: erledigen die eigentliche Arbeit
  • Worker-Anzahl typischerweise gleich CPU-Kerne
  • I/O-Modell: epoll unter Linux, kqueue unter BSD

Nginx vs. Apache – Kurzüberblick

Kriterium Nginx Apache
Verbindungsmodell ereignisgesteuert prozess-/threadbasiert
Statische Inhalte sehr effizient solide
Dynamische Inhalte via FastCGI/Proxy nativ (mod_php etc.)
Konfiguration zentral, hierarchisch verteilt (.htaccess möglich)
Typischer Einsatz Proxy, CDN-Edge, hoher Traffic Shared Hosting, Legacy-Setups