NGINX дегеніміз не
Веб-сервер және кері прокси
NGINX — жоғары өнімді ашық бастапқы кодты веб-сервер, кері прокси, жүктемені теңестіру және HTTP кэші. 2004 жылы Игорь Сысоев жасаған, қазір F5 Networks-ке тиесілі.
Негізгі функциялар
- Веб-сервер — статикалық контентті беру
- Кері прокси — backend серверлерге сұрауларды прокси
- Жүктемені теңестіру — серверлер арасында трафикті бөлу
- SSL/TLS аяқтау — HTTPS қосылымдарын өңдеу
- HTTP кэштеу — upstream сервер жауаптарын кэштеу
Артықшылықтары
- Асинхронды event-driven архитектура
- Төмен жад тұтынуы
- Жоғары өнімділік (10K+ қосылым)
- Қарапайым конфигурация
- Модульдік архитектура
Типтік қолдану жағдайлары
- Статикалық файлдарды беру (HTML, CSS, JS, суреттер)
- Node.js, Python, PHP, Java үшін кері прокси
- API Gateway
- Docker контейнерлер арасында жүктемені теңестіру
- Микросервистер үшін SSL offloading
Негізгі конфигурация
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
| Параметр | NGINX | Apache | |----------|-------|--------| | Архитектура | Event-driven | Process/Thread | | Статикалық файлдар | Жылдамырақ | Баяуырақ | | .htaccess | Жоқ | Иә | | Конфигурация | Орталықтандырылған | Таратылған |
Танымал модульдер
- ngx_http_gzip_module — жауаптарды сығу
- ngx_http_ssl_module — HTTPS
- ngx_http_proxy_module — прокси
- ngx_http_upstream_module — жүктемені теңестіру
- ngx_http_rewrite_module — URL қайта жазу