Nginx Grundlagen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Verweis auf neue Vertiefungsseite ergänzt |
Weiterfuehrend: neue Seiten ergaenzt |
||
| Zeile 51: | Zeile 51: | ||
== Weiterführend == | == Weiterführend == | ||
* [[Nginx Reverse Proxy und Load Balancing]]: Location-Matching-Reihenfolge, proxy_pass und Header, Load Balancing, Caching, Rate Limiting, Fehlerbilder. Dazu die | * [[Nginx Grundkonfiguration]] (Animation, Einstieg): Installation, Verzeichnisstruktur, erster Server-Block, sicher ändern, mehrere Sites. | ||
* [[Nginx Reverse Proxy und Load Balancing]]: Location-Matching-Reihenfolge, proxy_pass und Header, Load Balancing, Caching, Rate Limiting, erweitertes Routing, Fehlerbilder. Dazu die Animationen [https://xinux.org/nginx-reverse-proxy.html Reverse Proxy] und [https://xinux.org/nginx-load-balancing.html Load Balancing]. | |||
* [[Nginx Lets Encrypt und Certbot]]: automatisierte TLS-Zertifikate für öffentlich erreichbare Server. | |||
* [[Nginx Absichern und Betreiben]]: Security Hardening, Authentifizierung, Logging, Performance, Hochverfügbarkeit. | |||
Aktuelle Version vom 31. Oktober 2026, 14:15 Uhr
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:
epollunter Linux,kqueueunter 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 |
Weiterführend
- Nginx Grundkonfiguration (Animation, Einstieg): Installation, Verzeichnisstruktur, erster Server-Block, sicher ändern, mehrere Sites.
- Nginx Reverse Proxy und Load Balancing: Location-Matching-Reihenfolge, proxy_pass und Header, Load Balancing, Caching, Rate Limiting, erweitertes Routing, Fehlerbilder. Dazu die Animationen Reverse Proxy und Load Balancing.
- Nginx Lets Encrypt und Certbot: automatisierte TLS-Zertifikate für öffentlich erreichbare Server.
- Nginx Absichern und Betreiben: Security Hardening, Authentifizierung, Logging, Performance, Hochverfügbarkeit.