Nima NGINX
Veb-server va teskari proksi
NGINX — yuqori samarali ochiq manbali veb-server, teskari proksi, yukni muvozanatlash va HTTP keshi. 2004 yilda Igor Sysoyev tomonidan yaratilgan, hozir F5 Networks'ga tegishli.
Asosiy funksiyalar
- Veb-server — statik kontentni taqdim etish
- Teskari proksi — backend serverlarga so'rovlarni proksilash
- Yukni muvozanatlash — serverlar o'rtasida trafikni taqsimlash
- SSL/TLS tugatish — HTTPS ulanishlarini boshqarish
- HTTP keshlash — upstream server javoblarini keshlash
Afzalliklari
- Asinxron event-driven arxitektura
- Kam xotira iste'moli
- Yuqori samaradorlik (10K+ ulanish)
- Oddiy sozlash
- Modulli arxitektura
Oddiy foydalanish holatlari
- Statik fayllarni taqdim etish (HTML, CSS, JS, rasmlar)
- Node.js, Python, PHP, Java uchun teskari proksi
- API Gateway
- Docker konteynerlar o'rtasida yukni muvozanatlash
- Mikroservislar uchun SSL offloading
Asosiy sozlash
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
| Parametr | NGINX | Apache | |----------|-------|--------| | Arxitektura | Event-driven | Process/Thread | | Statik fayllar | Tezroq | Sekinroq | | .htaccess | Yo'q | Ha | | Sozlash | Markazlashgan | Taqsimlangan |
Mashhur modullar
- ngx_http_gzip_module — javoblarni siqish
- ngx_http_ssl_module — HTTPS
- ngx_http_proxy_module — proksilash
- ngx_http_upstream_module — yukni muvozanatlash
- ngx_http_rewrite_module — URL qayta yozish