Was ist NGINX
Webserver und Reverse Proxy
NGINX ist ein leistungsstarker Open-Source-Webserver, Reverse Proxy, Load Balancer und HTTP-Cache. 2004 von Igor Sysoev erstellt, gehört jetzt zu F5 Networks.
Kernfunktionen
- Webserver — Bereitstellung statischer Inhalte
- Reverse Proxy — Proxying von Anfragen an Backend-Server
- Lastverteilung — Verteilung des Traffics auf Server
- SSL/TLS-Terminierung — Handhabung von HTTPS-Verbindungen
- HTTP-Caching — Caching von Upstream-Server-Antworten
Vorteile
- Asynchrone ereignisgesteuerte Architektur
- Geringer Speicherverbrauch
- Hohe Leistung (10K+ Verbindungen)
- Einfache Konfiguration
- Modulare Architektur
Typische Anwendungsfälle
- Bereitstellung statischer Dateien (HTML, CSS, JS, Bilder)
- Reverse Proxy für Node.js, Python, PHP, Java
- API Gateway
- Lastverteilung zwischen Docker-Containern
- SSL-Offloading für Microservices
Basiskonfiguration
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
}
location /static/ {
root /var/www;
expires 30d;
}
}
NGINX vs Apache
| Parameter | NGINX | Apache | |-----------|-------|--------| | Architektur | Event-driven | Prozess/Thread | | Statische Dateien | Schneller | Langsamer | | .htaccess | Nein | Ja | | Konfiguration | Zentralisiert | Verteilt |
Beliebte Module
- ngx_http_gzip_module — Antwortkomprimierung
- ngx_http_ssl_module — HTTPS
- ngx_http_proxy_module — Proxying
- ngx_http_upstream_module — Lastverteilung
- ngx_http_rewrite_module — URL-Umschreibung