Веб-сервер с открытым исходным кодом и обратный прокси-сервер
Nginx (произносится как «engine x» [8] EN -jin- EKS , стилизовано под NGINX или nginx ) — веб-сервер , который также может использоваться как обратный прокси-сервер , балансировщик нагрузки , почтовый прокси-сервер и HTTP-кэш . Программное обеспечение было создано российским разработчиком Игорем Сысоевым и публично выпущено в 2004 году. [9] Nginx — это бесплатное программное обеспечение с открытым исходным кодом , выпущенное в соответствии с условиями лицензии BSD с 2 пунктами . Большая часть веб-серверов использует Nginx, [10] часто как балансировщик нагрузки. [11]
Компания с таким же названием была основана в 2011 году для предоставления поддержки и платного программного обеспечения NGINX Plus . [12] В марте 2019 года компания была приобретена F5, Inc. за 670 миллионов долларов. [13]
Популярность
По состоянию на июнь 2022 года [обновлять], по подсчету веб-серверов W3Tech всех веб-сайтов, Nginx занял первое место с 33,6%. Apache был вторым с 31,4%, а Cloudflare Server третьим с 21,6%. [14] По состоянию на март 2022 года [обновлять], Netcraft подсчитал, что Nginx обслуживал 22,01% из миллиона самых загруженных веб-сайтов, Apache был немного впереди с 23,04%. Cloudflare с 19,53% и Microsoft Internet Information Services с 5,78% замкнули четверку лучших серверов для самых загруженных веб-сайтов. Некоторые из других статистических данных Netcraft показывают, что Nginx опережает Apache. [15]
Исследование использования Docker , проведенное в 2018 году , показало, что Nginx является наиболее часто используемой технологией в контейнерах Docker. [16] В OpenBSD версии 5.2 (ноябрь 2012 г.) Nginx стал частью базовой системы OpenBSD, предоставив альтернативу форку системы Apache 1.3, который он должен был заменить, [17] но позже в версии 5.7 (ноябрь 2014 г.) он был удален в пользу собственного httpd(8) OpenBSD. [18] [19]
Функции
Nginx может быть настроен для обслуживания статического веб-контента или для работы в качестве прокси-сервера . [20]
Nginx может быть развернут также для обслуживания динамического контента в сети с использованием FastCGI , обработчиков SCGI для скриптов , серверов приложений WSGI или модулей Phusion Passenger , а также может служить программным балансировщиком нагрузки . [21] [20]
Nginx использует асинхронный событийно-управляемый подход, а не потоки, для обработки запросов. [22] Модульная событийно-управляемая архитектура Nginx может обеспечить предсказуемую производительность при высоких нагрузках. [23] [24]
Функции HTTP-прокси и веб-сервера
Функции почтового прокси
- Поддержка TLS/SSL
- Поддержка STARTTLS
- SMTP , [35] POP3 и IMAP- прокси
- Требуется аутентификация с использованием внешнего HTTP-сервера или скрипта аутентификации [36] [35]
Другие функции включают обновление исполняемого файла и конфигурации без потери клиентских подключений [37] и модульную архитектуру с поддержкой как ядра [38] , так и сторонних модулей. [39]
Платный продукт Plus включает в себя дополнительные функции, такие как расширенная балансировка нагрузки и доступ к расширенному набору показателей для мониторинга производительности. [40] [41]
Nginx в сравнении с Apache
Nginx был написан с явной целью превзойти веб-сервер Apache . [42] Хотя в прошлом Nginx превосходил Apache, начиная с Apache 2.4 они предлагают схожую производительность. [43] [44] Этот прежний прирост производительности был достигнут за счет снижения гибкости, например, возможности переопределять системные настройки доступа для каждого файла (Apache делает это с помощью файла .htaccess , тогда как Nginx не имеет такой встроенной функции). [45] [46]
Раньше добавление сторонних модулей в Nginx требовало перекомпиляции приложения из исходного кода со статически связанными модулями . Это было частично преодолено в версии 1.9.11 в феврале 2016 года с добавлением динамической загрузки модулей . [47] Однако модули по-прежнему должны компилироваться одновременно с Nginx, и не все модули совместимы с этой системой; некоторые требуют более старого процесса статической компоновки. [48]
Модуль Nginx
Nginx Unit — это сервер веб-приложений с открытым исходным кодом, выпущенный в 2017 году компанией NGINX, Inc. для многоязычных приложений на основе микросервисов. Первоначальный выпуск поддерживал приложения, написанные на Go , PHP и Python . [49] В версии 1.11.0 поддержка была расширена до приложений Java , Node.js , Perl и Ruby ; другие функции включают динамическую конфигурацию, маршрутизацию запросов и балансировку нагрузки. [50] [51]
История
2000-е
Игорь Сысоев начал разработку Nginx в 2002 году. [9] Первоначально Nginx был разработан для решения проблемы C10k и для удовлетворения потребностей множества веб-сайтов, включая поисковую систему и портал Rambler , для которых он обслуживал 500 миллионов запросов в день к сентябрю 2008 года. [52]
2010-е
Компания Nginx Inc. была основана в июле 2011 года Сысоевым и Максимом Коноваловым [12] [53] для предоставления коммерческих продуктов и поддержки программного обеспечения. [54]
В октябре 2011 года Nginx, Inc. привлекла 3 миллиона долларов от BV Capital , Runa Capital и MSD Capital , венчурного фонда Майкла Делла . [55]
Компания объявила о коммерческих вариантах поддержки для компаний, использующих Nginx в производстве. Nginx предложила коммерческую поддержку в феврале 2012 года, [56] [57] и платную подписку Nginx Plus в августе 2013 года. [58] Пакеты поддержки фокусируются на установке, настройке, улучшении производительности и т. д. [59] Поддержка включает в себя упреждающие уведомления о крупных изменениях, исправлениях безопасности, обновлениях и патчах. Nginx, Inc. также предлагает консультационные услуги для помощи клиентам в индивидуальной настройке или добавлении дополнительных функций. [60]
В октябре 2013 года Nginx, Inc. привлекла $10 млн в рамках раунда инвестиций серии B под руководством New Enterprise Associates . [61] В этом раунде участвовали предыдущие инвесторы, а также Аарон Леви , генеральный директор и основатель Box.com . [62] [63] В декабре 2014 года Nginx привлекла $20 млн в рамках раунда инвестиций серии B1 под руководством New Enterprise Associates, при участии e.ventures (ранее BV Capital ), Runa Capital, Index Ventures и генерального директора Nginx Гаса Робертсона. [64] [65]
В сентябре 2017 года Nginx анонсировала инструмент управления API, NGINX Controller, который будет построен на основе их API Gateway, NGINX Plus. [66] [67] В октябре 2017 года Nginx, Inc. анонсировала общедоступный Nginx Amplify SaaS, предоставляющий возможности мониторинга и аналитики для Nginx. [68]
В июне 2018 года компания Nginx, Inc. привлекла 43 миллиона долларов США в рамках раунда финансирования серии C под руководством Goldman Sachs «для ускорения модернизации приложений и цифровой трансформации предприятий». [69]
11 марта 2019 года компания F5, Inc. приобрела Nginx, Inc. за 670 миллионов долларов США. [70]
12 декабря 2019 года стало известно, что московские офисы Nginx Inc. подверглись обыску со стороны полиции, а Сысоев и Коновалов были задержаны. Обыск проводился на основании ордера на обыск , связанного с иском о нарушении авторских прав на Nginx со стороны Rambler, которая утверждает, что владеет всеми правами на код, поскольку он был написан, когда Сысоев был сотрудником компании. [71] 16 декабря 2019 года российский государственный кредитор Сбербанк, которому принадлежит 46,5 процента Rambler, созвал внеочередное заседание совета директоров Rambler, попросив руководство Rambler обратиться к российским правоохранительным органам с просьбой прекратить расследование уголовного дела и начать переговоры с Nginx и F5. [72]
2020-е годы
18 января 2022 года было объявлено, что Игорь Сысоев покидает Nginx и F5. [73]
В конце 2022 года некоторые бывшие разработчики Nginx выпустили Angie — форк Nginx с открытым исходным кодом. [74] [75] Игорь Сысоев не принимает активного участия в этом проекте. [76]
В феврале 2024 года Максим Дунин, один из основных разработчиков Nginx, создал форк Nginx под названием freenginx. В открытом письме, анонсирующем создание, Максим Дунин раскритиковал вмешательство F5 в разработку Nginx. [77]
Смотрите также
Ссылки
- ^ "ИЗМЕНЕНИЯ" . Получено 16 мая 2017 г.
- ^ "Release 1.27.2". 2 октября 2024 г. Получено 22 октября 2024 г.
- ^ "Проект NGINX с открытым исходным кодом на Black Duck Open Hub". www.openhub.net . Получено 17 мая 2023 г. .
- ^ "nginx для Windows" . Получено 28 мая 2014 г. .
- ^ "Протестированные ОС и платформы" . Получено 15 октября 2011 г.
- ^ "Лицензирование" . Получено 18 января 2013 г.
- ^ "Лицензионное соглашение конечного пользователя" (PDF) . Получено 29 марта 2020 г.
- ^ "Игорь Сысоев". sysoev.ru . Получено 1 июня 2018 г. .
- ^ ab Tony Mobily (5 января 2012 г.). "Интервью с Игорем Сысоевым, автором конкурента Apache NGINX". Free Software Magazine . Архивировано из оригинала 19 октября 2013 г. . Получено 18 октября 2013 г. .
- ↑ Опрос (31 июля 2023 г.). «Опрос веб-серверов за июль 2023 г. | Netcraft». www.netcraft.com . Получено 26 августа 2023 г. .
- ^ "Использование NGINX в качестве внешнего прокси-сервера и программного балансировщика нагрузки" . Получено 1 июня 2018 г.
- ^ ab "Уведомление об освобожденном предложении ценных бумаг". Форма D. Комиссия по ценным бумагам и биржам США , 17 октября 2013 г. Получено 15 сентября 2016 г.
- ^ "F5 приобретает NGINX за 670 млн долларов, чтобы перейти на многооблачные сервисы с открытым исходным кодом". TechCrunch . 11 марта 2019 г. . Получено 12 марта 2019 г. .
- ^ «Статистика использования веб-серверов». w3techs.com . Получено 18 июня 2022 г. .
- ^ "Мартовский опрос веб-серверов 2022 г.". Новости Netcraft . 29 марта 2022 г. Получено 18 июня 2022 г.
- ^ "8 удивительных фактов о реальном принятии Docker". 13 июня 2018 г. Получено 21 июня 2018 г.
- ^ "Руководство по обновлению OpenBSD: 5.1 до 5.2". openbsd.org . 6 ноября 2012 г.
- ^ «Внимание: Nginx удален из базы».
- ^ "Руководство по обновлению: 5.6 до 5.7" . Получено 18 февраля 2024 г. .
- ^ ab "Руководство для начинающих". nginx.org . Получено 1 июня 2018 г. .
- ^ "Использование NGINX в качестве внешнего прокси-сервера и программного балансировщика нагрузки". Linode Guides & Tutorials . Получено 1 июня 2018 г.
- ^ "Добро пожаловать в NGINX Wiki! - NGINX". nginx.com .
- ^ "Архитектура приложений с открытым исходным кодом (том 2): nginx". aosabook.org . Получено 10 июня 2015 г. .
- ^ "Как настроить NGINX". Linode Guides & Tutorials . 8 марта 2018 г.
- ^ "NGINX Docs | NGINX Reverse Proxy". Документация NGINX .
- ^ "NGINX Docs | Балансировка нагрузки HTTP". Документация NGINX .
- ^ "Модуль ngx_http_upstream_module". nginx.org . Получено 14 августа 2012 г. .
- ^ "Введение в поддержку gRPC в NGINX 1.13.10". NGINX . 17 марта 2018 г.
- ^ "Проксирование WebSocket". nginx.org .
- ^ "Использование NGINX в качестве прокси-сервера WebSocket". NGINX . 17 мая 2014 г.
- ^ "Прокси: поддержка обновления соединения (101 протокол коммутации)". trac.nginx.org. 19 февраля 2013 г. Получено 21 февраля 2013 г.
- ^ "Изменения в nginx 1.25.0". Новости nginx . 23 мая 2023 г. Получено 25 мая 2023 г.
- ^ Муренин, Константин А. (18 февраля 2013 г.). "Динамический веб-сайт, написанный полностью на nginx.conf? Представляем mdoc.su!". [email protected] (список рассылки) . Получено 24 декабря 2014 г.
- ^ Муренин, Константин А. (24 февраля 2013 г.). "mdoc.su – URL-адреса страниц краткого руководства для FreeBSD, OpenBSD, NetBSD и DragonFly BSD" . Получено 24 декабря 2014 г. .
- ^ ab "NGINX Docs | Настройка NGINX в качестве почтового прокси-сервера". Документация NGINX .
- ^ "Модуль ngx_mail_auth_http_module". nginx.org . Получено 13 сентября 2012 г. .
- ^ "Официальная документация: Управление nginx". nginx.org . Получено 3 декабря 2011 г. .
- ^ "nginx documentation". nginx.org . Получено 9 июня 2015 г. .
- ^ "3rdPartyModules – Сообщество Nginx". wiki.nginx.org . Получено 9 июня 2015 г. .
- ^ "Как контролировать NGINX". Datadog . 9 июля 2015 . Получено 9 июля 2015 .
- ^ "Балансировка нагрузки приложений с помощью NGINX Plus". NGINX . Получено 9 июля 2015 г. .
- ^ "NGINX против Apache: наш взгляд на десятилетний вопрос". NGINX . 9 октября 2015 г. Получено 28 декабря 2016 г.
- ^ "Apache httpd 2.4" (PDF) . Архивировано (PDF) из оригинала 27 января 2012 г. . Получено 8 февраля 2012 г. .
- ^ "Выбор прокси-сервера". 14 апреля 2014 г. Архивировано из оригинала 3 марта 2016 г. Получено 19 февраля 2016 г.
- ^ Янков, Тонино (13 июня 2018 г.). «Производительность Apache против Nginx: методы оптимизации — SitePoint». SitePoint . Получено 22 октября 2018 г. .
- ^ «Какой веб-сервер следует использовать — Apache или NGINX?». TechRepublic . 18 августа 2023 г.
- ^ "ИЗМЕНЕНИЯ-1.10". nginx.org . 31 января 2017 г.
- ^ "Введение в динамические модули в NGINX 1.9.11 - NGINX". NGINX . 9 февраля 2016 г. Получено 13 января 2017 г.
- ^ «Nginx выходит за рамки своих серверных корней и запускает свою платформу приложений». techcrunch.com . 6 сентября 2017 г. Получено 15 апреля 2020 г.
- ^ "ИЗМЕНЕНИЯ". unit.nginx.org . Получено 15 апреля 2020 г. .
- ^ "Мартовский опрос веб-серверов 2020 г.". news.netcraft.com . 20 марта 2020 г. . Получено 15 апреля 2020 г. .
- ^ "Nginx: высокопроизводительный веб-сервер и обратный прокси". Linux Journal . 1 сентября 2008 г. Получено 16 августа 2009 г.
- ^ "Максим Коновалов". НГИНКС . Проверено 13 октября 2019 г.
- ^ "Company". nginx.com. 3 января 2012 г. Получено 24 февраля 2012 г.
- ^ Наташа Старкелл (11 октября 2011 г.). «Российский Nginx привлек $3 миллиона от международных инвесторов». Techcrunch . Получено 20 ноября 2014 г.
- ^ Даррил К. Тафт (8 февраля 2012 г.). «NGINX запускает коммерческую поддержку веб-сервера с открытым исходным кодом». e Week . Архивировано из оригинала 18 октября 2013 г. Получено 18 октября 2013 г.
- ^ Стивен Дж. Воан-Николс (8 февраля 2012 г.). «Теперь доступна коммерческая поддержка для веб-сервера NGINX с открытым исходным кодом». Блог ZDNet Open Source . Архивировано из оригинала 11 февраля 2012 г. Получено 18 октября 2013 г.
- ^ "Nginx Inc. запускает NGINX Plus". 22 августа 2013 г.
- ^ Тафт, Даррил К. (8 февраля 2012 г.). «NGINX запускает коммерческую поддержку веб-сервера с открытым исходным кодом». eweek.com. Архивировано из оригинала 22 января 2013 г. Получено 24 февраля 2012 г.
- ^ "Теперь доступна коммерческая поддержка для веб-сервера NGINX с открытым исходным кодом". ZDNet. 8 февраля 2012 г. Архивировано из оригинала 11 февраля 2012 г. Получено 28 февраля 2012 г.
- ^ Шон Майкл Кернер (16 октября 2013 г.). «Nginx привлекает $10 млн. нового финансирования для разработки сервера». e Week . Архивировано из оригинала 18 октября 2013 г. Получено 18 октября 2013 г.
- ^ Фредерик Лардинуа (15 октября 2013 г.). "Nginx привлекает $10M Series B Round во главе с NEA". Techcrunch . Получено 20 ноября 2014 г.
- ^ Джоли О'Делл (15 октября 2013 г.). «Nginx заключает выгодную сделку на финансирование в размере 10 млн долларов и привлекает сотни миллионов пользователей». Venture Beat . Получено 18 октября 2013 г.
- ^ Фредерик Лардинуа (9 декабря 2014 г.). «Nginx привлекает $20M Series B1 Round для расширения международного сотрудничества». Techcrunch . Получено 9 декабря 2014 г.
- ^ Jordan Novet (9 декабря 2014 г.). «Nginx получает 20 млн долларов, потому что веб-сервер с открытым исходным кодом — это только начало». VentureBeat . Получено 9 декабря 2014 г.
- ^ "NGINX выпускает новую платформу приложений NGINX". SD Times . 6 сентября 2017 г. Получено 7 ноября 2018 г.
- ^ "Введение в управление API NGINX: управление шлюзами API NGINX Plus с помощью контроллера NGINX - NGINX". NGINX . 9 октября 2018 г. . Получено 7 ноября 2018 г. .
- ^ "NGINX Amplify общедоступна - NGINX". 1 октября 2017 г. Получено 4 июня 2018 г.
- ^ «NGINX привлекает $43 млн в рамках финансирования серии C для ускорения модернизации приложений и цифровой трансформации предприятий» (пресс-релиз). 20 июня 2018 г. Получено 11 октября 2018 г.
- ^ Vaughan-Nichols, Steven J. "F5 приобретает NGINX: чего ожидать от сделки". ZDNet . Получено 12 декабря 2019 г. .
- ^ Чимпану, Каталин. «Российская полиция совершила налет на московский офис NGINX». ZDNet . Получено 12 декабря 2019 г.
- ^ Цыденова, Надежда (16 декабря 2019 г.). «Российский Rambler прекращает уголовное дело против веб-сервера Nginx». Reuters . Получено 4 мая 2020 г.
- ^ Уайтли, Роб (18 января 2022 г.). «Свидания, Игорь, и спасибо за NGINX». NGINX (пресс-релиз). Архивировано из оригинала 19 января 2022 г. . Получено 19 января 2022 г. .
Сегодня мы объявляем, что Игорь решил отойти от NGINX и F5, чтобы проводить больше времени со своими друзьями и семьей и заниматься личными проектами
- ^ Darkcrizt (3 ноября 2022 г.). «Angie, форк Nginx, созданный разработчиками, покинувшими F5». Desde Linux . Получено 14 декабря 2023 г.
- ^ "Angie: новый форк NGINX, разработанный некоторыми из его бывших разработчиков". Vuink.com . Получено 14 декабря 2023 г. .
- ^ Борисов, Бобби (31 октября 2022 г.). «Angie: новый форк NGINX, разработанный некоторыми из его бывших разработчиков». Linuxiac . Получено 14 декабря 2023 г.
- ^ Ларабель, Майкл (14 февраля 2024 г.). «Core NGINX Developer Forks Web Server Into Freenginx». www.phoronix.com . Получено 15 февраля 2024 г. .
Внешние ссылки
- Официальный сайт
- Энджи
- FreeNginx