Nginx
веб-сервер и обратный прокси
Что это
Nginx (произносится «engine-x») — высокопроизводительный веб-сервер, обратный прокси, балансировщик нагрузки. Один из самых массово используемых веб-серверов в мире.
История
- 2004 — первая публичная версия. Автор — Игорь Сысоев, разработчик из России, писал изначально для нужд Rambler
- Событийная архитектура: один процесс обслуживает тысячи соединений одновременно
- 2011 — основана компания Nginx Inc.
- 2019 — Nginx Inc. куплена F5 Networks за $670 млн
- 2022 — часть команды из РФ ушла и основала форк Angie (angie.software)
Что умеет
- Отдача статики (HTML, JS, CSS, картинки) — очень быстро
- Reverse proxy к бэкендам (PHP-FPM, Node, Python, Go)
- TLS-терминация (SSL)
- Балансировка нагрузки (round-robin, ip_hash, least_conn)
- Кеширование
- HTTP/2, HTTP/3 (QUIC) — в свежих версиях
- WebSocket, gRPC-прокси
Пример конфига
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
}
}
Nginx vs Nginx Plus vs Angie
- Nginx — open source, бесплатно
- Nginx Plus — коммерческая версия от F5, доп. фичи (детальная статистика, active health checks, dynamic reconfiguration)
- Angie — российский форк Nginx с расширенным функционалом, бесплатный