Hva er NGINX
Webserver og revers proxy
NGINX er en høyytelses åpen kildekode-webserver, revers proxy, lastbalanser og HTTP-cache. Opprettet av Igor Sysoev i 2004, nå eid av F5 Networks.
Kjernefunksjoner
- Webserver — serverer statisk innhold
- Revers proxy — videresender forespørsler til backend-servere
- Lastbalansering — distribuerer trafikk mellom servere
- SSL/TLS-terminering — håndtering av HTTPS-tilkoblinger
- HTTP-caching — caching av upstream-serversvar
Fordeler
- Asynkron hendelsesdrevet arkitektur
- Lavt minneforbruk
- Høy ytelse (10K+ tilkoblinger)
- Enkel konfigurasjon
- Modulær arkitektur
Typiske brukstilfeller
- Servere statiske filer (HTML, CSS, JS, bilder)
- Revers proxy for Node.js, Python, PHP, Java
- API Gateway
- Lastbalansering mellom Docker-containere
- SSL-avlastning for mikrotjenester
Grunnleggende konfigurasjon
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 | Hendelsesdrevet | Prosess/Tråd | | Statiske filer | Raskere | Tregere | | .htaccess | Nei | Ja | | Konfigurasjon | Sentralisert | Distribuert |
Populære moduler
- ngx_http_gzip_module — responskomprimering
- ngx_http_ssl_module — HTTPS
- ngx_http_proxy_module — proxy
- ngx_http_upstream_module — lastbalansering
- ngx_http_rewrite_module — URL-omskriving