Что такое Nginx
Тема дорожной карты · Nginx
Nginx (произносится «engine-x») — бесплатный веб-сервер с открытым исходным кодом, обратный прокси, балансировщик нагрузки и HTTP-кэш высокой производительности, обеспечивающий значительную долю мирового веб-трафика, включая множество сайтов с наибольшей нагрузкой. Написанный Игорем Сысоевым и впервые публично выпущенный в 2004 году, Nginx был спроектирован с нуля с асинхронной, событийно-ориентированной, неблокирующей архитектурой, позволяющей обрабатывать десятки тысяч одновременных соединений, используя лишь малую долю памяти, требуемой традиционными веб-серверами с моделью «один поток на соединение», такими как Apache. Nginx может выступать как самостоятельный веб-сервер для статического контента, как обратный прокси для перенаправления запросов к серверам приложений (Node.js, Python, Ruby, PHP, Go), как балансировщик нагрузки для распределения трафика между несколькими вышестоящими бэкендами и как точка SSL/TLS-терминации, разгружающая серверы приложений от криптографической обработки. Модель конфигурации Nginx использует иерархию контекстов — events, http, server и location — определённую в главном конфигурационном файле /etc/nginx/nginx.conf, делая её выразительной и компонуемой для широкого спектра сценариев развёртывания. Nginx доступен в версии с открытым исходным кодом и в коммерческой версии Nginx Plus, добавляющей активные проверки работоспособности, JWT-аутентификацию, продвинутые алгоритмы балансировки нагрузки и дашборд мониторинга активности в реальном времени.
Как это работает
Что такое Nginx — высокопроизводительный HTTP-сервер, reverse proxy, load balancer и TLS-терминатор на event-driven асинхронной архитектуре (master + worker-процессы; epoll/kqueue на Linux/BSD). Один worker держит тысячи одновременных соединений без overhead one-thread-per-connection. Типичные деплои: edge HTTP-сервер (TLS + reverse proxy), сервер статики, внутренний load balancer, API-шлюз. Альтернативы: Caddy (auto-HTTPS), HAProxy (L4 + L7), Traefik (Docker/k8s-native), Envoy (xDS, service mesh).
Когда применять
Nginx — закалённый в боях edge HTTP-сервер для production-трафика: TLS-терминация, gzip/brotli, кеш, rate-limit и reverse-proxy в одном бинаре. Caddy — когда нужна auto-HTTPS + проще конфиг и не нужны все фичи nginx. HAProxy — для L4 (TCP) балансировки или экстремального throughput. Envoy — для service mesh / xDS-driven динамической конфигурации.
Типичные ошибки
Ловушки Что такое Nginx: копирование nginx-конфигов из блогов без понимания (некоторые с устаревшими SSL-cipher, небезопасными заголовками); устаревшая версия nginx на публичном боксе (CVE копятся); путаница nginx vs nginx-plus (некоторые директивы только в коммерческой — health check через upstream health_check это одна); смешение nginx и Caddy без чётких границ.
Связанные понятия
Полезные ресурсы
Проверить знания (1)
Загрузка вопросов…