Mikä on NGINX
Web-palvelin ja käänteinen välityspalvelin
NGINX on korkean suorituskyvyn avoimen lähdekoodin web-palvelin, käänteinen välityspalvelin, kuormantasaaja ja HTTP-välimuisti. Igor Sysoev loi sen vuonna 2004, nyt F5 Networks omistaa sen.
Ydintoiminnot
- Web-palvelin — staattisen sisällön tarjoaminen
- Käänteinen välityspalvelin — pyyntöjen välitys backend-palvelimille
- Kuormantasaus — liikenteen jakaminen palvelimien kesken
- SSL/TLS-päättäminen — HTTPS-yhteyksien käsittely
- HTTP-välimuisti — upstream-palvelinvastausten välimuistitus
Edut
- Asynkroninen tapahtumaohjattu arkkitehtuuri
- Alhainen muistinkulutus
- Korkea suorituskyky (10K+ yhteyttä)
- Yksinkertainen konfigurointi
- Modulaarinen arkkitehtuuri
Tyypilliset käyttötapaukset
- Staattisten tiedostojen tarjoaminen (HTML, CSS, JS, kuvat)
- Käänteinen välityspalvelin Node.js, Python, PHP, Java
- API Gateway
- Kuormantasaus Docker-konttien välillä
- SSL-purkaminen mikropalveluille
Peruskonfiguraatio
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
| Parametri | NGINX | Apache | |-----------|-------|--------| | Arkkitehtuuri | Tapahtumaohjattu | Prosessi/Säie | | Staattiset tiedostot | Nopeampi | Hitaampi | | .htaccess | Ei | Kyllä | | Konfigurointi | Keskitetty | Hajautettu |
Suositut moduulit
- ngx_http_gzip_module — vastausten pakkaus
- ngx_http_ssl_module — HTTPS
- ngx_http_proxy_module — välitys
- ngx_http_upstream_module — kuormantasaus
- ngx_http_rewrite_module — URL-uudelleenkirjoitus