nginx plus что это
Легендарный бесплатный веб-сервер из России выпустил свою первую платную версию
Основанная российским программистом Игорем Сысоевым компания Nginx, разработчик одноименного популярного открытого веб-сервера выпустила свой первый коммерческий продукт под названием Nginx Plus.
Как ожидается, российское сообщение о запуске продукта будет распространено завтра, 23 августа 2013 г.
Платный пакет Nginx Plus помимо веб-сервера Nginx, который можно получить бесплатно, включают инструменты для настройки, мониторинга активности сервера, продвинутого балансирования нагрузки, продвинутого ведения логов, динамической реконфигурации и услуги по техподдержке.
Разработчики позиционируют свой продукт как программную замену ADC (Application Delivery Controllers), аппаратным контроллерам доставки.
PC World приводит слова CEO компании Nginx Гуса Робертсона (Gus Robertson) о том, что функции, реализованные в Nginx Plus близки к тому, что есть в аппаратных ADC: «Мы являемся альтернативой Apache, но также и альтернативой аппаратным контроллерам для доставки контента».
По его словам, Nginx Plus может составить конкуренцию аппаратным решениям F5 Networks и Citrix, которые применяются для ускорения работы нагруженных сайтов. Первоначально и сам Nginx развивался именно как веб-сервер для высоконагруженных ресурсов.
Мировая распространенность веб-серверов по данным Netcraft
По данным Netcraft, в августе 2013 г. Nginx удерживал второе место среди веб-серверов по числу работающих на нем активных сайтов: 148,9 млн или 14,89% от общего числа. По этому показателю он уступал только серверу Apache (569,3 млн или 56,93%) и незначительно опережал сервер Microsoft (132,9 млн или 13,29%).
В числе прочих Nginx используют сервисы Dropbox, Facebook, Hulu, Instagram, Netflix, Pinterest, Zynga и «Яндекс».
Напомним, что разработка веб-сервера nginx была начата Игорем Сысоевым в 2002 г. В 2004 г. появился первый публично доступный релиз веб-сервера, распространяемый бесплатно под открытой лицензией BSD.
В апреле 2013 г. компания Nginx заявила о привлечении на работу в должности генерального директора бывшего вице-президента Red Hat Гаса Робертсона.
F5 NGINX Application Platform
High‑Performance Application Delivery for Microservices
F5 NGINX Application Platform
High‑Performance Application Delivery for Microservices
The NGINX Application Platform is a suite of products that together form the core of what organizations need to create applications with performance, reliability, security, and scale. The NGINX Application Platform includes NGINX Plus for load balancing and application delivery, NGINX App Protect for security, and NGINX Unit to run the application code, all monitored and managed by NGINX Controller.
Our Products
NGINX Plus
The only all‑in‑one load balancer, content cache, and web server. Simplify your architecture while reducing costs.
NGINX Controller
Effortlessly manage load balancers, API gateways and service mesh deployments at scale across a multi‑cloud environment from a single pane of glass.
NGINX App Protect
Modern app security powered by F5 WAF technology running on NGINX Plus. Prevent downtime & breaches by securing your apps and APIs.
NGINX Unit
The new dynamic application server from NGINX. Open source, support for multiple languages, and a REST API‑driven configuration.
NGINX Ingress Controller
Enterprise-grade Ingress load balancing on Kubernetes platforms.
NGINX Instance Manager
Configure, scale, and manage NGINX Open Source and NGINX Plus instances in your enterprise.
NGINX Service Mesh
Secure service-to-service management of north‑south and east‑west traffic in Kubernetes environments.
NGINX Amplify
Lightweight monitoring and static analysis for NGINX and NGINX Plus. Completely hosted in the cloud.
If You Like NGINX, You’ll Love NGINX Plus
Modern app infrastructure and dev teams love NGINX Plus. More than just the fastest web server around, NGINX Plus brings you everything you love about NGINX Open Source, adding enterprise‑grade features like high availability, active health checks, DNS system discovery, session persistence, and a RESTful API.
NGINX Plus is a cloud‑native, easy-to-use reverse proxy, load balancer, and API gateway. Whether you need to integrate advanced monitoring, strengthen security controls, or orchestrate Kubernetes containers, NGINX Plus delivers with the five‑star support you expect from NGINX.
Your All-in-One Load Balancer, Reverse Proxy, API Gateway – and Much More
Want to Go from NGINX Open Source Hero to NGINX Plus Heavyweight?
How to Use NGINX Plus
NGINX Plus provides scalable and reliable high availability along with monitoring to support debugging and diagnosing complex application architectures. Active health checks proactively poll upstream server status to get ahead of issues, and the integrated live activity monitoring dashboard provides a single‑pane view of your app environment. The NGINX Plus API enables integration with your existing tools, optimizing resources and reducing tool sprawl.
Get Production Ready
The key tools your organization needs to run and stay running.
Reduce security breaches and limit your organization’s exposure to malicious users with NGINX Plus’s request and connection limiting, TLS 1.3 support, dynamic certificate loading, and JWT authentication. Add on the NGINX App Protect WAF to secure your modern apps and APIs.
Secure Your Modern Apps
Gain your customers’s trust and prevent headaches by keeping your data safe and compliant.
If things go wrong, NGINX is here to help. We proudly provide award‑winning commercial support at the level your organization needs, including:
Whether you’re new to NGINX Plus or ready to implement advanced use cases, our Professional Services team can help you save time, optimize your deployment, and boost your knowledge.
Support Your Vision
Get peace of mind and inspiration from our world‑class support and services team.
High-Performance Load Balancing
NGINX Plus gives you enterprise‑grade load balancing with session persistence, active health checks, and dynamic reconfiguration without needing a server restart.
Intelligent, high‑scale load balancing of HTTP, TCP, and UDP traffic is easy with NGINX Plus. Supporting numerous algorithms such as Random with Two Choices, NGINX Plus enables you to maintain high performance whatever your infrastructure.
Reduce Infrastructure Costs
Scale out your apps and save more than 80% compared to hardware load balancers.
API Gateway
In the midst of transitioning from monolithic to microservices‑based apps? Is your environment hugely distributed with hundreds of APIs owned by different developers?
With cloud vendors making it easier and easier to deploy API gateways, how do you know which is right for you? NGINX Plus supports all API gateway models – from an edge gateway providing TLS termination and rate limiting, to request routing in a service mesh scenario. Whatever your scenario, NGINX Plus manages API traffic right alongside regular web traffic, translating between protocols while reducing complexity and maintaining the high performance you expect from NGINX.
Achieve Real-Time API Performance
Use NGINX Plus as a lightweight, fast, and feature‑rich API gateway in any scenario.
Reverse Proxy
Bringing session persistence, caching, and multiple algorithms, NGINX Plus maximizes speed and capacity for the resiliency and scale that enterprises need. With active health checks and enhanced security, NGINX Plus as a reverse proxy provides an additional defense against security attacks while ensuring that all requests land at an operational server. Add in intelligent request routing at high concurrency, request modification, and the ability to add or delete headers, and NGINX Plus supports all your reverse proxy use cases.
The Reverse Proxy You’ve Been Longing For
Speed up and secure your traffic to upstream servers resiliently and at scale.
F5 Device ID+ enables you to more effectively monitor customer behavior and optimize the online experiences you deliver.
F5 Device ID+ is a real‑time device identifier that utilizes advanced signal collection and machine‑learning algorithms to assign a unique identifier to each device visiting your site – enhancing user experiences and preventing fraud in the process.
The best part? F5 Device ID+ is available for free to NGINX Plus customers.
Mitigate Fraud and Risk
Strengthen application security while ensuring a smooth digital experience.
Что такое NGINX и зачем он нужен
Скандал вокруг прав на веб-сервер NGINX, который разразился в конце 2019 года, вышел далеко за рамки ИТ-тусовки. Неожиданно для себя о существовании этого продукта узнали даже далекие от высоких технологий обыватели. Оказалось, (но мы-то об этом знали давно!), что NGINX – едва ли не самый массовый в мире ИТ-продукт, имеющий российские корни.
История и современность
История NGINX стартовала в начале 2000-х. Тогда Rambler столкнулся с проблемой роста – типичной для тех лет, когда число пользователей интернет-сервисов росло лавинообразно. Ее в свободное от основной работы время решил исследовать системный администратор компании Игорь Сысоев. На выполнение задачи ушло два года. Так появился NGINX (произносится как engine-x или «инженикс») – веб-сервер, который хранит данные интернет-сайта и обеспечивает доступ его посетителей к контенту.
Продукт разрабатывался факультативно и был некоммерческим. Само решение можно было бесплатно скачать в Сети, первый публичный релиз появился в 2004 году.
В 2011 году Игорь Сысоев вместе с Максимом Коноваловым и Андреем Алексеевым основали компанию NGINX, намереваясь развивать уже ставший популярным продукт и выпускать новые, коммерческие разработки. За несколько лет партнерам удалось привлечь более 100 млн долларов инвестиций. Первая коммерческая версия, NGINX Plus, появилась в 2013 году, за ней последовали и другие разработки. Интересно, что базовое решение, веб-сервер NGINX, продолжает распространяться свободно.
Открытый доступ и эффективность NGINX сделали его очень популярным. Сегодня этот веб-сервер используют около четверти всех интернет-ресурсов, в том числе такие гиганты, как «ВКонтакте», Mail.Ru, Dropbox и Netflix. Интересно, что ближайшим конкурентам (Microsoft и Apache) NGINX уступает лишь единицы процентов доли рынка.
В 2019 году компанию NGINX приобрел холдинг F5 Networks. Владельцы NGINX даже не искали покупателя: сделка родилась во время переговоров о потенциальном партнерстве.
Сегодня NGINX продолжает работать под собственной торговой маркой, но уже как часть F5. Холдингу принадлежат права на продукты NGINX, интеллектуальную собственность компании, бренд и бизнес. Команда перешла на работу в штат F5 Networks. Возглавляет компанию ее прежний СЕО Гас Робертсон.
Что умеет NGINX
Функциональность NGINX обеспечивает все базовые потребности администрирования веб-серверов. Он работает в Unix-подобных средах (имеется и поддержка Windows). Веб-сервер обеспечивает защищенную передачу данных по протоколам SSL/TLS, обслуживает статичные запросы, автоматически учитывает файлы, хранящиеся на сервере, осуществляет кэширование открытых файлов.
К возможностям NGINX относятся также элементарная аутентификация (по паре «логин-пароль») и перенаправление с одного сервера на другой. Это дает возможность использовать NGINX не только для веб-, но и для почтовых серверов. В данном случае решение будет перенаправлять внешние HTTP-запросы в бэкенд, работающий на одном из популярных почтовых движков.
Преимущества
NGINX появился позже, чем его основной конкурент – Apache. Первоначальная цель, которую стремился достигнуть Игорь Сысоев, – обеспечение масштабируемости при возрастающей нагрузке – определила и ключевые преимущества решения. Отличаясь простотой установки и настройки, а также небольшими размерами, NGINX создавался на базе асинхронных алгоритмов.
Если обычный веб-сервер способен обработать только 1024 запроса к сайту, то NGINX работает с тысячами таких соединений. Для каждого из них создается отдельный процесс, которые работают асинхронно и не «отвлекают» ресурсы друг от друга.
В результате NGINX оказывается способен к невероятному масштабированию нагрузки. Правда, касается это только веб-сайтов со статическим контентом. Для того, чтобы раздавать динамический контент, придется настроить взаимодействие NGINX с внешним процессом.
Тем не менее, NGINX выглядит предпочтительнее для обеспечения работы сайтов с высокой нагруженностью. Более того, используется он и в «паре» с Apache, позволяя решить проблемы с масштабированием нагрузки. В этом случае NGINX «раздает» статику и перенаправляет Apache обработку скриптов и сложных запросов.
Стоит иметь в виду, что NGINX, в отличие от того же Apache, не является готовым решением, способным работать «из коробки». Благодаря обширному сообществу разработчиков наш герой приобрел сотню дополнительных модулей, которые позволяют решить множество задач, но каждый из них потребует отдельной сборки и настройки связей.
NGINX с момента появления своего первого общедоступного релиза распространяется по свободной BSD-лицензии. Исходный код сервера открыт, и каждый желающий может модифицировать его в соответствии со своими нуждами. Лицензионные платежи отсутствуют, и это – еще одно преимущество NGINX (впрочем, свободную лицензию имеют многие веб-сервера).
Однако, не будем забывать о том, что NGINX, как и любой веб-сервер, требует установки, настройки и постоянной поддержки. Поэтому большинству заказчиков приходится озаботиться приобретением этих услуг. Для того, чтобы самостоятельно заниматься обеспечением работы NGINX, требуется выделенный специалист в штате компании, стоимость которого часто превышает цену пакета услуг, предлагаемого компаниями-поставщиками.
NGINX Plus
NGINX Plus появился после создания компании NGINX, в 2011 году. Многие называют этот продукт «платной» версией веб-сервера с расширенными возможностями. По сути, такие эксперты правы. В основе NGINX Plus лежит все та же популярная разработка, а причиной появления платной версии стала потребность множества заказчиков в поддержке.
В отличие от базовой версии NGINX Plus дополнен инструментами, позволяющими балансировать нагрузку, осуществлять мониторинг сервера, организовывать потоковую передачу данных. Умеет коммерческая версия и контролировать работу приложений в бэкенде, а также проводить реконфигурацию сервера в режиме реального времени.
NGINX Amplify
Логическим развитием продуктового портфеля NGINX стал выпуск решений, которые позволяют решить отдельные, узкие задачи. Они адресованы тем компаниям, которым не нужна вся функциональность, заложенная в NGINX Plus, или, напротив, требуется расширение возможностей коммерческой версии веб-сервера.
NGINX Amplify позволяет отслеживать и контролировать как сам веб-сервер, так и приложения, которые он обслуживает. С помощью этого решения можно выявлять проблемы с производительностью инфраструктуры и выявлять их причины. Более того, Amplify будет выдавать оповещения в случае обнаружения проблем и рекомендовать пути их преодоления.
NGINX Controller
В качестве отдельного решения поставляется и дополнение к NGINX Plus – NGINX Controller. С его помощью можно контролировать состояние сервера вне зависимости от того, в какой роли он развернут, будь то балансировщик нагрузки, шлюз API или прокси-сервер. С помощью Controller можно не только наблюдать за работающими приложениями, но и управлять развертыванием новых при расширении инфраструктуры.
NGINX Unit
А вот NGINX Unit – куда как более серьезная, чем обычная утилита, разработка компании. Ее, по сути, ждали с момента появления первой версии NGINX, но выпущена она была только в 2017 году. NGINX Unit – сервер приложений. Он позволяет запускать веб-приложения, написанные на разных языках. Особенно востребовано решение в компаниях, где за годы развития «накопилось» много таких систем.
Благодаря NGINX Unit у заказчиков появилась единая платформа, позволяющая обеспечить работоспособность такого «зоопарка» и управлять им в режиме реального времени.
Облачное хранилище корпоративного класса на базе NGINX Plus и Minio
В этой статье говорится о том, как настроить обратный прокси-сервер NGINX или NGINX Plus в качестве балансировщика нагрузки для хранилища объектов (object storage) на базе Minio.
Проектирование хранилища объектов
Практически любому приложению нужно хранилище, но требования к этому компоненту системы могут сильно различаться. Возьмем для примера хранилище документов: возможно, на начальных этапах работы ему не придется обслуживать большое количество запросов на чтение, но впоследствии может понадобиться масштабирование. Другое приложение (такое как, например, галерея изображений) уже с момента запуска должно уметь и быстро обслуживать большое количество запросов, и масштабироваться по мере необходимости.
Эти тонкости осложняют процесс организации хранилища. Но все не так плохо: c приходом хранилища объектов (object storage) в качестве стандартного способа хранения неструктурированных данных (во многом за счет необходимости использования HTTP) начался процесс стандартизации работы приложения с хранилищем.
Но вопрос все еще остается: как организовать заточенное под ваше приложение и в то же время гибкое хранилище объектов?
Поскольку работа с хранилищем объектов подразумевает использование HTTP-серверов и клиентов, для обслуживания HTTP-трафика необходимо выбрать подходящий веб-сервер (например, не нуждающийся в представлении NGINX). В качестве бэкэнда можно использовать легковесный и хорошо масштабируемый сервер хранилища объектов. На эту роль отлично подходит Minio. Гибкость подобной системы является ключевым фактором при создании сервиса корпоративного уровня.
С помощью NGINX Plus администраторы могут не только настроить балансировку входящего трафика, но и кэширование, дросселирование (throttling), завершение SSL/TLS и даже фильтрацию трафика на основе различных параметров. Minio, с другой стороны, предлагает легковесное хранилище объектов, совместимое с Amazon S3.
Minio создан для размещения неструктурированных данных, таких как фотографии, видеозаписи, файлы журналов, резервные копии, а также образы виртуальных машин и контейнеров. Небольшой размер позволяет включать его в состав стека приложений, аналогичного Node.js, Redis и MySQL. В minio также поддерживается распределенный режим (distributed mode), который предоставляет возможность подключения к одному серверу хранения объектов множества дисков, в том числе расположенных на разных машинах.
В этой статье мы рассмотрим несколько сценариев использования NGINX Plus в сочетании с Minio, которые позволяют настроить хорошо масштабируемое, отказоустойчивое и стабильное хранилище объектов корпоративного класса.
NGINX Plus в качестве обратного прокси и балансировщика нагрузки
NGINX Plus прежде всего известен как обратный прокси (reverse proxy). Но нужен ли обратный прокси для Minio? Давайте посмотрим на несколько сценариев использования:
Если серверов Minio несколько, имеет смысл настроить балансировку трафика путем перечисления этих серверов в блоке конфигурации upstream и указания этой группы в директиве proxy_pass directive:
Для получения более подробной информации о настройке NGINX или NGINX Plus в качестве прокси для Minio см. документацию по Minio.
Завершение SSL/TLS
В последнее время HTTPS становится протоколом по умолчанию для передачи большей части веб-трафика, поэтому для Minio имеет смысл разворачивать сразу HTTPS-сервер. NGINX Plus в качестве HTTPS-сервера настроить достаточно просто. Первым делом нужен SSL/TLS-сертификат, который можно получить и интегрировать в NGINX Plus с помощью Let’s Encrypt.
Для получения более подробной информации о завершении SSL/TLS см. NGINX Plus Admin Guide.
Кэширование
Серверы хранилищ объектов обычно не отличаются быстродействием, но это не означает, что запросы клиентов обрабатываются медленно. При включении кэширования на сервере NGINX Plus он сохраняет часто запрашиваемые данные и может сразу вернуть их клиенту, не перенаправляя запрос на внутренний сервер.
Вот как это работает. Веб-кэш сервера NGINX Plus расположен между клиентом и сервером Minio, и в нем сохраняется копия каждого запрошенного из хранилища файла. Если запрошенный файл есть в кэше, NGINX сразу возвращает его, не обращаясь к Minio. Таким образом уменьшаются время ответа клиенту и нагрузка на сервер Minio.
Дросселирование (throttling)
Бывают случаи, когда исходя из требований бизнеса или соображений безопасности некоторых http-клиентов нужно немного «придушить». NGINX Plus позволяет ограничить доступную полосу пропускания, количество запросов и соединений.
Для получения более подробной информации см. NGINX Plus Admin Guide.
Заключение
В этой статье мы продемонстрировали несколько функций NGINX Plus, позволяющих организовать балансировку нагрузки (в частности, для сервера хранилища объектов Minio). Связка NGINX Plus и Minio дает возможность настроить гибкое хранилище объектов, заточенное под нужды вашего приложения.
Эта статья была изначально опубликована в блоге Nginx.