Открыть сервис

Nginx Plus

Nginx Plus — это коммерческая версия веб-сервера и обратного прокси-сервера Nginx, разрабатываемая и поддерживаемая американской компанией F5, Inc. (до 2019 года — Nginx, Inc.). В отличие от бесплатной версии с открытым исходным кодом (Nginx Open Source), Nginx Plus предоставляет расширенный набор функций, предназначенных для корпоративного использования, включая активный мониторинг состояния серверов, расширенные балансировщики нагрузки, динамическую переконфигурацию без перезапуска, встроенную поддержку сессионной привязки (sticky sessions) и круглосуточную техническую поддержку. Продукт распространяется по платной подписке.

История

Nginx был создан российским разработчиком Игорем Сысоевым в 2004 году. Первоначально проект развивался как свободное программное обеспечение под лицензией BSD. В 2011 году была основана компания Nginx, Inc. (зарегистрирована в Сан-Франциско, США) для коммерциализации продукта. Первая версия Nginx Plus была выпущена в августе 2013 года. Она включала расширенную аналитику, мониторинг в реальном времени и поддержку коммерческих клиентов.

В марте 2019 года компания F5 Networks (ныне F5, Inc.) объявила о приобретении Nginx, Inc. за 670 миллионов долларов США. Сделка была завершена в мае 2019 года. После приобретения разработка Nginx Plus продолжилась под управлением F5. В 2021 году F5 представила новую версию Nginx Plus, интегрированную с платформой управления API и микросервисами F5 NGINX Management Suite.

Отличия от Nginx Open Source

Основные различия между Nginx Plus и бесплатной версией Nginx Open Source касаются функциональности, поддержки и лицензирования.

Функциональные возможности

Nginx Plus включает все функции Nginx Open Source, а также ряд эксклюзивных возможностей:

  • Активная проверка работоспособности (Active Health Checks): В бесплатной версии проверка состояния бэкенд-серверов возможна только пассивно (на основе ответов на клиентские запросы). Nginx Plus позволяет выполнять периодические проверки (health checks) независимо от трафика, что позволяет выявлять неработающие серверы быстрее.
  • Расширенный мониторинг: Встроенный модуль status предоставляет подробную статистику в реальном времени (количество активных соединений, запросов, состояние пулов серверов) через REST API или веб-интерфейс. В Nginx Open Source доступен только базовый модуль stub_status.
  • Динамическая переконфигурация: Nginx Plus позволяет изменять конфигурацию (добавлять или удалять серверы, изменять параметры балансировки) без перезагрузки всего процесса (nginx -s reload). Это достигается через API без необходимости редактировать файлы конфигурации.
  • Сессионная привязка (Sticky Sessions): Реализована поддержка привязки пользовательских сессий к конкретным бэкенд-серверам с использованием кук (cookies), что критично для приложений, хранящих состояние на сервере.
  • Расширенные алгоритмы балансировки: Помимо стандартных (round-robin, least connections, IP hash), Nginx Plus включает алгоритмы на основе времени отклика (least time) и случайного выбора (random).
  • Кэширование с поддержкой PURGE: Возможность выборочной очистки кэша по ключу через HTTP-запросы.
  • Потоковая передача (Streaming): Улучшенная поддержка протоколов реального времени (RTMP, HLS, DASH) для видеотрансляций.

Лицензирование и поддержка

  • Лицензия: Nginx Open Source распространяется под лицензией BSD (2-пунктная). Nginx Plus — проприетарный продукт, требующий покупки подписки.
  • Поддержка: Nginx Plus включает круглосуточную техническую поддержку от F5, доступ к закрытому репозиторию с обновлениями и исправлениями безопасности. Для Nginx Open Source поддержка сообществом или платная от сторонних компаний.
  • Обновления: Nginx Plus получает обновления безопасности и новые функции по расписанию, согласованному с подпиской. Nginx Open Source обновляется по мере выхода стабильных релизов.

Архитектура и устройство

Архитектурно Nginx Plus идентичен Nginx Open Source: он основан на асинхронной, событийно-ориентированной модели обработки запросов. Основные компоненты:

  • Master-процесс: Управляет рабочими процессами, читает конфигурацию, обрабатывает сигналы (перезагрузка, остановка).
  • Worker-процессы: Обрабатывают входящие соединения. Количество worker-процессов обычно равно числу ядер процессора.
  • Модули: Функциональность расширяется за счёт модулей. Nginx Plus включает как стандартные модули (HTTP, Stream, Mail), так и проприетарные (для мониторинга, активных проверок, управления сессиями).

Ключевое отличие в архитектуре — наличие в Nginx Plus встроенного REST API для управления конфигурацией и мониторингом, что делает его более подходящим для автоматизированных сред (DevOps, контейнеризация).

Применение

Nginx Plus используется в корпоративных средах, где требуется высокая надёжность, производительность и управляемость. Основные сценарии:

  • Обратный прокси-сервер и балансировщик нагрузки: Для распределения трафика между несколькими серверами приложений (например, веб-серверами Apache, Node.js, Python-приложениями).
  • Терминация SSL/TLS: Снятие нагрузки шифрования с серверов приложений.
  • Кэширование: Кэширование статического контента (изображения, CSS, JavaScript) и динамических ответов.
  • API-шлюз: Маршрутизация запросов к микросервисам, аутентификация, ограничение скорости (rate limiting).
  • Контент-доставка (CDN): Используется как часть инфраструктуры для доставки видео и больших файлов.
  • Агрегация логов: Сбор и централизованная обработка логов от разных сервисов.

Критика и ограничения

Основные претензии к Nginx Plus связаны с его стоимостью и зависимостью от одного вендора. Для многих компаний функциональности Nginx Open Source оказывается достаточно, а дополнительные возможности Nginx Plus (например, активные проверки) могут быть реализованы с помощью сторонних инструментов (например, Prometheus, Grafana). Также критикуется закрытость исходного кода проприетарных модулей, что затрудняет аудит безопасности.

После приобретения F5 часть сообщества выразила опасения по поводу будущего направления развития Nginx Open Source, однако компания продолжает выпускать обновления для бесплатной версии. В ответ на это появились форки, такие как Tengine (от Alibaba) и OpenResty, которые развивают функциональность Nginx Open Source независимо.

Источники

  1. Официальная документация F5 NGINX Plus (nginx.com/products/nginx-plus).
  2. Книга «Nginx: The Definitive Guide» (O'Reilly Media, 2016).
  3. Материалы конференций NGINX Conf (2013–2023).
  4. Публикации в блоге F5 NGINX (nginx.com/blog).
  5. Исходный код Nginx Open Source (hg.nginx.org/nginx).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →