Введение в Nginx
Тема дорожной карты · Nginx
Nginx (произносится «engine-x») — высокопроизводительный веб-сервер, обратный прокси, балансировщик нагрузки и HTTP-кэш с открытым исходным кодом, первоначально выпущенный Игорем Сысоевым в 2004 году для решения проблемы C10K — обработки десяти тысяч одновременных соединений. В отличие от модели Apache «один процесс на соединение», Nginx использует асинхронную событийно-ориентированную архитектуру, позволяющую одному рабочему процессу обрабатывать тысячи одновременных соединений при минимальном потреблении памяти, что делает его исключительно эффективным для высоконагруженных веб-приложений. Nginx широко применяется как обратный прокси перед серверами приложений, как точка TLS/SSL-терминации и как сервер статических файлов, способный доставлять HTML, CSS, JavaScript и медиаресурсы с выдающейся производительностью. Конфигурационный язык Nginx является декларативным и контекстно-ориентированным: директивы организованы в блоки http, server и location внутри главного конфигурационного файла /etc/nginx/nginx.conf. Понимание основ Nginx необходимо DevOps-инженерам и веб-разработчикам, которым нужен надёжный, масштабируемый и высокопроизводительный веб-сервер для современной инфраструктуры.
Как это работает
Введение в 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 без чётких границ.