Vad är NGINX
Webbserver och omvänd proxy
NGINX är en högpresterande webbserver med öppen källkod, omvänd proxy, lastbalanserare och HTTP-cache. Skapad av Igor Sysoev 2004, nu ägd av F5 Networks.
Kärnfunktioner
- Webbserver — serverar statiskt innehåll
- Omvänd proxy — proxyfrågor till backend-servrar
- Lastbalansering — fördelar trafik mellan servrar
- SSL/TLS-terminering — hantering av HTTPS-anslutningar
- HTTP-cachning — caching av upstream-serversvar
Fördelar
- Asynkron händelsestyrd arkitektur
- Låg minnesförbrukning
- Hög prestanda (10K+ anslutningar)
- Enkel konfiguration
- Modulär arkitektur
Typiska användningsfall
- Servera statiska filer (HTML, CSS, JS, bilder)
- Omvänd proxy för Node.js, Python, PHP, Java
- API Gateway
- Lastbalansering mellan Docker-containrar
- SSL-avlastning för mikrotjänster
Grundkonfiguration
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 | |-----------|-------|--------| | Arkitektur | Händelsestyrd | Process/Tråd | | Statiska filer | Snabbare | Långsammare | | .htaccess | Nej | Ja | | Konfiguration | Centraliserad | Distribuerad |
Populära moduler
- ngx_http_gzip_module — svarskomprimering
- ngx_http_ssl_module — HTTPS
- ngx_http_proxy_module — proxyering
- ngx_http_upstream_module — lastbalansering
- ngx_http_rewrite_module — URL-omskrivning