Mis on NGINX
Veebiserver ja pöördproksi
NGINX on suure jõudlusega avatud lähtekoodiga veebiserver, pöördproksi, koormuse tasakaalustaja ja HTTP-vahemälu. Igor Syssoevi loodud 2004. aastal, praegu kuulub F5 Networksile.
Põhifunktsioonid
- Veebiserver — staatilise sisu pakkumine
- Pöördproksi — päringute edastamine taustserveritele
- Koormuse tasakaalustamine — liikluse jaotamine serverite vahel
- SSL/TLS lõpetamine — HTTPS-ühenduste käsitlemine
- HTTP-vahemälu — ülesvoolu serveri vastuste vahemällu salvestamine
Eelised
- Asünkroonne sündmustepõhine arhitektuur
- Madal mälukasutus
- Kõrge jõudlus (10K+ ühendust)
- Lihtne seadistamine
- Modulaarne arhitektuur
Tüüpilised kasutusjuhud
- Staatiliste failide pakkumine (HTML, CSS, JS, pildid)
- Pöördproksi Node.js, Python, PHP, Java jaoks
- API Gateway
- Koormuse tasakaalustamine Dockeri konteinerite vahel
- SSL-i mahalaadimine mikroteenuste jaoks
Põhiseadistus
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
| Parameeter | NGINX | Apache | |------------|-------|--------| | Arhitektuur | Sündmustepõhine | Protsess/Lõim | | Staatilised failid | Kiirem | Aeglasem | | .htaccess | Ei | Jah | | Seadistamine | Tsentraliseeritud | Hajutatud |
Populaarsed moodulid
- ngx_http_gzip_module — vastuste tihendamine
- ngx_http_ssl_module — HTTPS
- ngx_http_proxy_module — proksimine
- ngx_http_upstream_module — koormuse tasakaalustamine
- ngx_http_rewrite_module — URL-i ümberkirjutamine