Nginx
Nginx (читается «энджинкс») — это веб-сервер и обратный прокси (reverse proxy). Он принимает входящие HTTP-запросы и направляет их к вашему приложению. Nginx стоит «перед» вашим приложением как охранник на входе: фильтрует трафик, раздаёт статику, терминирует SSL и балансирует нагрузку между серверами.
Почему не отдавать трафик напрямую в Node.js или Python? Потому что они не предназначены для этого. Node.js обрабатывает один запрос за раз в одном потоке. Nginx обрабатывает тысячи одновременных подключений при минимальном расходе памяти. Статические файлы (картинки, CSS, JS) Nginx отдаёт в 10 раз быстрее, чем ваше приложение.
Nginx умеет: раздавать статику, проксировать запросы к backend-приложениям, балансировать нагрузку (round-robin, least connections, ip-hash), терминировать SSL/TLS, кешировать ответы, ограничивать количество запросов (rate limiting), сжимать ответы (gzip).
По данным W3Techs, Nginx используется на 34% всех сайтов в мире — это самый популярный веб-сервер. Его используют Netflix, Dropbox, WordPress.com, Airbnb.
Ключевые преимущества
- Обратный прокси: стоит перед приложением и управляет трафиком
- Тысячи одновременных подключений при минимальном расходе памяти
- Раздача статики в 10 раз быстрее, чем application-сервер
- Балансировка нагрузки между несколькими серверами
- SSL-терминация, кеширование, rate limiting, gzip
Примеры
Типичная конфигурация: Nginx принимает HTTPS-запросы, терминирует SSL, отдаёт статику (картинки, JS, CSS) из папки, а API-запросы проксирует в Node.js на порт 3000. Балансировка: 3 инстанса приложения за одним Nginx — если один упал, трафик идёт к двум оставшимся. Rate limiting: не больше 100 запросов в минуту с одного IP — защита от DDoS.
Когда это нужно
Nginx нужен практически всегда, когда ваше приложение доступно из интернета. Без Nginx допустимо только для разработки и прототипов. В продакшене Nginx — стандарт: SSL, статика, балансировка, защита от перегрузки. Исключение — serverless (Vercel, AWS Lambda), где Nginx заменяет инфраструктура платформы.
Частые вопросы
Nginx или Apache — что лучше?
Nginx быстрее при высоких нагрузках благодаря событийной модели (один процесс обрабатывает тысячи соединений). Apache использует потоки/процессы на каждое соединение — при 10 000 одновременных подключений расходует гораздо больше памяти. Для новых проектов — Nginx. Apache оправдан, если нужны .htaccess-файлы или специфичные модули.
Нужно ли использовать Nginx с Docker?
Да, если приложение доступно из интернета. Nginx обычно запускается отдельным контейнером, который проксирует трафик к контейнерам приложения. В Kubernetes аналог — Ingress-контроллер (часто на базе того же Nginx). Исключение — платформы вроде Vercel, где прокси встроен в платформу.
Сложно ли настроить Nginx?
Базовая конфигурация (прокси + SSL) — 15-20 строк и 30 минут работы. Let's Encrypt выдаёт бесплатные SSL-сертификаты, Certbot автоматизирует обновление. Для стандартных задач достаточно скопировать и адаптировать готовые конфиги. Сложности начинаются при тонкой настройке кеширования и балансировки для высоконагруженных сервисов.
Где это применяется
DevOps и облачная инфраструктура
Строим инфраструктуру, на которой продукт не падает: CI/CD и деплой в одну кнопку, мониторинг с алертами раньше клиента, Kubernetes только там, где он оправдан, миграция в облако без остановки прода. Базовый контур — от 200 000 ₽ за 2–3 недели, аудит инфраструктуры и демо-пайплайн бесплатно за 3–5 дней. В боевой контур не заходим до договора.
Как мы это делаемПродолжите изучение

