Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Nginx (произносится как "двигатель Х", [8] / ˌ ɛ п ɪ п ɛ к с / EN -jin- EKS ), стилизованный под Nginx , Nginx или Nginx , является веб - сервер , который также может быть использован в качестве оборотной прокси , балансировщик нагрузки , почтовый прокси и HTTP-кеш . Программное обеспечение было создано Игорем Сысоевым и публично выпущено в 2004 году. [9] Nginx - бесплатное программное обеспечение с открытым исходным кодом , выпущенное в соответствии с условиями Лицензия BSD с двумя пунктами . Большая часть веб-серверов использует NGINX, [10] часто в качестве балансировщика нагрузки. [11]

Одноименная компания была основана в 2011 году для предоставления поддержки и платного программного обеспечения Nginx Plus . [12] В марте 2019 года компания была приобретена F5 Networks за 670 миллионов долларов. [13]

По оценкам Netcraft, на январь 2021 года Apache обслуживает 24,63% от миллиона самых загруженных веб-сайтов, в то время как Nginx обслуживает 23,21%, а Microsoft находится на третьем месте с 6,85% (по некоторым другим статистическим данным Netcraft Nginx опережает Apache) [14], в то время как согласно W3Techs, Apache занимает первое место с 35,0%, Nginx второе - 33,0%, а третье - Cloudflare Server с 17,3%. [15]

Популярность [ править ]

Согласно опросу веб-серверов Netcraft от ноября 2016 года [16], Nginx был вторым по популярности веб-сервером среди всех «активных» сайтов (18 процентов опрошенных сайтов) и для миллиона самых загруженных сайтов (28 процентов опрошенных сайтов). ). По данным W3Techs, его использовали 38 процентов из 1 миллиона лучших веб-сайтов, 50 процентов из 100 000 лучших веб-сайтов и 57 процентов из 10 000 лучших веб-сайтов. [17] По данным BuiltWith, он используется на 38% из 10 000 крупнейших веб-сайтов, а его рост в сегментах 10 000, 100 000 и 1 млн. Увеличился. [18] Исследование использования Docker в 2018 году показало, что Nginx был наиболее часто применяемой технологией в контейнерах Docker. [19] ВOpenBSD версии 5.2 (ноябрь 2012 г.), Nginx стал частью базовой системы OpenBSD, предоставив альтернативу системному форку Apache 1.3, который он должен был заменить [20], но позже, в версии 5.6 (ноябрь 2014 г.), он был удален. в пользу Apache с собственным httpd (8) OpenBSD. [21]

Особенности [ править ]

Nginx можно развернуть для обслуживания динамического HTTP- контента в сети с помощью FastCGI , обработчиков SCGI для сценариев , серверов приложений WSGI или модулей Phusion Passenger , а также он может служить программным балансировщиком нагрузки . [22]

Nginx использует асинхронный подход, управляемый событиями , а не потоки для обработки запросов. [23] Модульная управляемая событиями архитектура Nginx может обеспечить более предсказуемую производительность при высоких нагрузках. [24] [25]

Файл конфигурации по умолчанию Nginx является nginx.conf, как правило , находится в /usr/local/nginx/conf, /etc/nginxили /usr/local/etc/nginx. [26]

Функции HTTP-прокси и веб-сервера [ править ]

  • Способность обрабатывать более 10 000 одновременных подключений при небольшом объеме памяти (~ 2,5 МБ на 10 тыс. Неактивных HTTP-соединений keep-alive )
  • Обработка статических файлов, индексных файлов и автоиндексация
  • Обратный прокси с кешированием [27]
  • Балансировка нагрузки [28] с внутренними проверками работоспособности [29]
  • TLS / SSL с поддержкой сшивания SNI и OCSP через OpenSSL
  • Поддержка FastCGI , SCGI , uWSGI с кешированием
  • Поддержка gRPC с марта 2018 г., версия 1.13.10. [30]
  • Виртуальные серверы на основе имени и IP-адреса
  • IPv6- совместимый
  • WebSockets начиная с 1.3.13, [31] [32] в том числе действует как обратный прокси и выполняет балансировку нагрузки приложений WebSocket. [33]
  • Обновление HTTP / 1.1 (101 протокол переключения) , [34] поддержка протокола HTTP / 2
  • Перезапись и перенаправление URL [35] [36]

Функции почтового прокси [ править ]

  • Поддержка TLS / SSL
  • Поддержка STARTTLS
  • SMTP , [37] POP3 и прокси IMAP
  • Требуется аутентификация с помощью внешнего HTTP-сервера или сценария аутентификации [38] [37]

Другие функции включают обновление исполняемого файла и конфигурации без потери клиентских соединений [39] и модульную архитектуру с поддержкой как ядра [40], так и сторонних модулей. [41]

Платный продукт Plus включает дополнительные функции, такие как расширенная балансировка нагрузки и доступ к расширенному набору показателей для мониторинга производительности. [42] [43]

Nginx против Nginx Plus [ править ]

Существует две версии Nginx: OSS Nginx и Nginx Plus. Nginx Plus предлагает дополнительные функции, не включенные в OSS Nginx, такие как активные проверки работоспособности, постоянство сеанса на основе файлов cookie, интеграция с обнаружением DNS-сервисов, API очистки кеша, AppDynamic, Datalog, подключаемые модули Dynatrace New Relic, Active-Active HA с config, хранилище ключей и значений, оперативно с нулевым временем простоя обновляет исходные конфигурации и хранилища значений ключей с использованием Nginx Plus API [44] и динамического модуля брандмауэра веб-приложений (WAF). [45]

Nginx против Apache [ править ]

Nginx был написан с явной целью превзойти веб-сервер Apache . [46] Изначально, обслуживая статические файлы, Nginx использует гораздо меньше памяти, чем Apache, и может обрабатывать примерно в четыре раза больше запросов в секунду. [47] Однако такое повышение производительности происходит за счет снижения гибкости, например, возможности переопределить общесистемные настройки доступа для каждого файла (Apache выполняет это с помощью файла .htaccess , в то время как Nginx не имеет такой встроенной функции). . [48] [49]

Nginx также имеет репутацию более сложного в установке и настройке, чем Apache. [50] Раньше добавление сторонних модулей в Nginx требовало перекомпиляции приложения из исходного кода со статически связанными модулями . Это было частично преодолено в версии 1.9.11 в феврале 2016 года, когда была добавлена динамическая загрузка модуля . [51] Однако модули по-прежнему должны компилироваться одновременно с Nginx, и не все модули совместимы с этой системой; для некоторых требуется более старый процесс статического связывания. [52]

Nginx обычно считается менее стабильным на Windows Server, чем на Linux , в то время как Apache имеет одинаковую поддержку для обоих. [50]

Nginx Unit [ править ]

Nginx Unit - это сервер веб-приложений с открытым исходным кодом, выпущенный в 2017 году компанией NGINX, Inc. для работы с многоязычными приложениями на основе микросервисов. Первоначальный выпуск поддерживал приложения, написанные на Go , PHP и Python . [53] К версии 1.11.0 поддержка была расширена до приложений Java , Node.js , Perl и Ruby ; другие функции включают динамическую конфигурацию, маршрутизацию запросов и балансировку нагрузки. [54] [55]

История [ править ]

Игорь Сысоев начал разработку Nginx в 2002 году. [9] Первоначально Nginx был разработан для решения проблемы C10k и для удовлетворения потребностей нескольких веб-сайтов, включая поисковую систему и портал Rambler , для которых он обслуживал 500 миллионов запросов в день. Сентябрь 2008 г. [56]

Nginx Inc. была основана в июле 2011 года Сысоевым и Максимом Коноваловым [12] [57] для предоставления коммерческих продуктов и поддержки программного обеспечения. [58]

Основным местом деятельности компании является Сан-Франциско, Калифорния, а юридическая регистрация - Британские Виргинские острова . [12]

В октябре 2011 года Nginx, Inc. привлекла 3 миллиона долларов от BV Capital , Runa Capital и MSD Capital , венчурного фонда Майкла Делла . [59]

Компания объявила о вариантах коммерческой поддержки для компаний, использующих Nginx в производстве. Nginx предложил коммерческую поддержку в феврале 2012 года [60] [61] и платную подписку Nginx Plus в августе 2013 года. [62] Пакеты поддержки ориентированы на установку, настройку, повышение производительности и т. Д. [63] Поддержка включает упреждающие уведомления о серьезных изменениях, исправления безопасности, обновления и исправления. Nginx, Inc. также предлагает консультационные услуги, чтобы помочь клиентам в индивидуальной настройке или добавлении дополнительных функций. [64]

В октябре 2013 года Nginx, Inc. привлекла инвестиционный раунд серии B в размере 10 миллионов долларов, возглавляемый New Enterprise Associates . [65] В этом раунде участвовали предыдущие инвесторы, а также Аарон Леви , генеральный директор и основатель Box.com . [66] [67] В декабре 2014 года Nginx привлекла раунд серии B1 на 20 миллионов долларов во главе с New Enterprise Associates при участии e.ventures (ранее BV Capital ), Runa Capital, Index Ventures и генерального директора Nginx Гаса Робертсона. [68] [69]

В сентябре 2017 года Nginx анонсировала инструмент управления API, NGINX Controller, который будет построен на базе их шлюза API NGINX Plus. [70] [71] В октябре 2017 года Nginx, Inc. объявила об общедоступном Nginx Amplify SaaS, обеспечивающем возможности мониторинга и аналитики для Nginx. [72]

В июне 2018 года Nginx, Inc. привлекла 43 миллиона долларов в виде финансирования серии C в раунде, возглавляемом Goldman Sachs, «Ускорение модернизации приложений и цифровой трансформации для предприятий». [73]

11 марта 2019 года F5 Networks приобрела Nginx, Inc. за 670 миллионов долларов США. [74]

12 декабря 2019 года появилась информация о том, что московские офисы Nginx Inc. подверглись обыску со стороны полиции, и что Сысоев и Коновалов были задержаны. Рейд проводился на основании ордера на обыск, связанного с иском о нарушении авторских прав на Nginx со стороны Rambler, в котором утверждается, что он владеет всеми правами на код, поскольку он был написан, когда Сысоев был сотрудником компании. [75] 16 декабря 2019 года российский государственный кредитный банк Сбербанк, которому принадлежит 46,5% акций Rambler, созвал внеочередное собрание совета директоров Rambler с просьбой к руководству Rambler потребовать от российских правоохранительных органов прекратить расследование уголовного дела и начать переговоры с Nginx и с F5. [76]

См. Также [ править ]

  • Сравнение программного обеспечения веб-сервера
  • Веб-ускоритель
  • Перенаправление URL § nginx rewrite
  • Список пакетов Nginx – MySQL – PHP

Ссылки [ править ]

  1. ^ "ИЗМЕНЕНИЯ" . Дата обращения 16 мая 2017 .
  2. ^ "ИЗМЕНЕНИЯ-1.18" . nginx.org .
  3. ^ "ИЗМЕНЕНИЯ" . nginx.org . Проверено 11 марта 2021 года .
  4. ^ "Проект с открытым исходным кодом NGINX на Ohloh" . ohloh.net . Проверено 7 марта 2013 года .
  5. ^ "nginx для Windows" . Проверено 28 мая 2014 .
  6. ^ «Проверенные ОС и платформы» . Проверено 15 октября 2011 года .
  7. ^ «Лицензирование» . Проверено 18 января 2013 года .
  8. ^ "Игорь Сысоев" . sysoev.ru . Проверено 1 июня 2018 .
  9. ^ a b Тони Мобили (5 января 2012 г.). «Интервью с Игорем Сысоевым, автором конкурента Apache NGINX» . Журнал свободного программного обеспечения . Архивировано из оригинального 19 октября 2013 года . Проверено 18 октября 2013 года .
  10. ^ «Обзор веб-сервера, январь 2017 г. - Netcraft» . news.netcraft.com . Проверено 1 июня 2018 .
  11. ^ «Используйте NGINX в качестве внешнего прокси и программного балансировщика нагрузки» . Проверено 1 июня 2018 .
  12. ^ a b c d «Уведомление о размещении ценных бумаг, освобожденных от уплаты налога» . Форма D . США по ценным бумагам и биржам 17 октября 2013 . Проверено 15 сентября 2016 года .
  13. ^ «F5 приобретает NGINX за 670 миллионов долларов, чтобы перейти на мультиоблачные сервисы с открытым исходным кодом» . TechCrunch . Проверено 12 марта 2019 .
  14. ^ «Опрос веб-сервера, декабрь 2020 г.» . Новости Netcraft . Проверено 27 января 2021 года .
  15. ^ «Статистика использования и рыночная доля веб-серверов, январь 2021 г.» . w3techs.com . Проверено 27 января 2021 года .
  16. ^ «Обзор веб-сервера, ноябрь 2016 г.» . 22 ноября 2016 . Проверено 19 декабря +2016 .
  17. ^ «Использование веб-серверов с разбивкой по рейтингу» . 19 декабря 2016 . Проверено 19 декабря +2016 .
  18. ^ «Построено с: статистика использования nginx» . 19 декабря 2016 . Проверено 19 декабря +2016 .
  19. ^ «8 удивительных фактов о реальном внедрении Docker» . 13 июня 2018 . Проверено 21 июня 2018 .
  20. ^ «Руководство по обновлению OpenBSD: с 5.1 до 5.2» . openbsd.org . 6 ноября 2012 г.
  21. ^ «Внимание: Nginx удален с базы» .
  22. ^ «Используйте NGINX в качестве внешнего прокси и программного балансировщика нагрузки» . Руководства и учебные пособия по Linode . Проверено 1 июня 2018 .
  23. ^ «Добро пожаловать в NGINX Wiki! - NGINX» . nginx.com .
  24. ^ «Архитектура приложений с открытым исходным кодом (Том 2): nginx» . aosabook.org . Проверено 10 июня 2015 года .
  25. ^ «Как настроить NGINX» . Руководства и учебные пособия по Linode . 8 марта 2018.
  26. ^ "Руководство для начинающих" . nginx.org . Проверено 1 июня 2018 .
  27. ^ "Документы NGINX | Обратный прокси-сервер NGINX" . Документация NGINX .
  28. ^ «Документы NGINX | Балансировка нагрузки HTTP» . Документация NGINX .
  29. ^ "Модуль ngx_http_upstream_module" . nginx.org . Проверено 14 августа 2012 года .
  30. ^ «Представляем поддержку gRPC в NGINX 1.13.10» . NGINX . 17 марта 2018.
  31. ^ "Прокси-сервер WebSocket" . nginx.org .
  32. ^ "Прокси-сервер WebSocket" . nginx.org .
  33. ^ «Использование NGINX в качестве прокси-сервера WebSocket» . NGINX . 17 мая 2014 г.
  34. ^ «Прокси: поддержка обновления соединения (101 протокол переключения)» . trac.nginx.org. 19 февраля 2013 . Проверено 21 февраля 2013 года .
  35. ^ Murenin Константин А. (18 февраля 2013). «Динамический веб-сайт, полностью написанный на nginx.conf? Представляем mdoc.su!» . [email protected] (список рассылки) . Проверено 24 декабря 2014 .
  36. ^ Murenin Константин А. (24 февраля 2013). «mdoc.su - Краткие URL-адреса страниц руководства для FreeBSD, OpenBSD, NetBSD и DragonFly BSD» . Проверено 24 декабря 2014 .
  37. ^ a b «Документы NGINX | Настройка NGINX в качестве почтового прокси-сервера» . Документация NGINX .
  38. ^ "Модуль ngx_mail_auth_http_module" . nginx.org . Проверено 13 сентября 2012 года .
  39. ^ "Официальная документация: Управление nginx" . nginx.org . Проверено 3 декабря 2011 года .
  40. ^ "Документация nginx" . nginx.org . Дата обращения 9 июня 2015 .
  41. ^ «3rdPartyModules - Сообщество Nginx» . wiki.nginx.org . Дата обращения 9 июня 2015 .
  42. ^ "Как контролировать NGINX" . Датадог . 9 июля 2015 . Дата обращения 9 июля 2015 .
  43. ^ «Балансировка нагрузки приложений с помощью NGINX Plus» . NGINX . Дата обращения 9 июля 2015 .
  44. ^ «Балансировка нагрузки с NGINX Plus» . Проверено 1 июня 2018 .
  45. ^ «NGINX Plus - это программный балансировщик нагрузки, веб-сервер и система кеширования контента» . Проверено 1 июня 2018 .
  46. ^ «NGINX против Apache: наш взгляд на вопрос десятилетней давности» . NGINX . 9 октября 2015 . Проверено 28 декабря +2016 .
  47. ^ "Сравнение производительности веб-сервера" . DreamHost . Проверено 28 декабря +2016 .
  48. ^ Янков, Тонино (13 июня 2018). «Производительность Apache и Nginx: методы оптимизации - SitePoint» . SitePoint . Проверено 22 октября 2018 года .
  49. ^ "Какой веб-сервер следует использовать - Apache или NGINX?" . TechRepublic .
  50. ^ a b «Выбор между Apache и NGINX для ваших нужд веб-хостинга» . Хостинг Канада.
  51. ^ "ИЗМЕНЕНИЯ-1.10" . nginx.org . 31 января 2017.
  52. ^ «Введение в динамические модули в NGINX 1.9.11 - NGINX» . NGINX . 9 февраля 2016 . Проверено 13 января 2017 года .
  53. ^ «Nginx выходит за рамки своих серверных корней и запускает платформу приложений» . techcrunch.com . 6 сентября 2017 . Проверено 15 апреля 2020 .
  54. ^ "ИЗМЕНЕНИЯ" . unit.nginx.org . Проверено 15 апреля 2020 .
  55. ^ «Обзор веб-сервера, март 2020 г.» . news.netcraft.com . 20 марта 2020 . Проверено 15 апреля 2020 .
  56. ^ «Nginx: высокопроизводительный веб-сервер и обратный прокси» . Linux Journal . 1 сентября 2008 . Проверено 16 августа 2009 года .
  57. ^ "Максим Коновалов" . NGINX . Проверено 13 октября 2019 .
  58. ^ "Компания" . nginx.com. 3 января 2012 . Проверено 24 февраля 2012 года .
  59. ^ Наташа Starkell (11 октября 2011). «Русский Nginx привлекает 3 миллиона долларов от международных инвесторов» . Techcrunch . Проверено 20 ноября 2014 года .
  60. Дэррил К. Тафт (8 февраля 2012 г.). «NGINX запускает коммерческую поддержку веб-сервера с открытым исходным кодом» . е Неделя . Проверено 18 октября 2013 года .
  61. Стивен Дж. Воан-Николс (8 февраля 2012 г.). «Коммерческая поддержка теперь доступна для веб-сервера NGINX с открытым исходным кодом» . Блог с открытым исходным кодом ZDNet . Проверено 18 октября 2013 года .
  62. ^ "Nginx Inc. запускает NGINX Plus" . 22 августа 2013 г.
  63. Тафт, Дэррил К. (8 февраля 2012 г.). «NGINX запускает коммерческую поддержку веб-сервера с открытым исходным кодом» . eweek.com . Проверено 24 февраля 2012 года .
  64. ^ «Коммерческая поддержка теперь доступна для веб-сервера NGINX с открытым исходным кодом» . ZDNet. 8 февраля 2012 . Проверено 28 февраля 2012 года .
  65. Шон Майкл Кернер (16 октября 2013 г.). «Nginx привлекает 10 миллионов долларов нового финансирования для разработки серверов» . е Неделя . Проверено 18 октября 2013 года .
  66. ^ Frederic Lardinois (15 октября 2013). «Nginx привлекает 10 миллионов долларов в раунде серии B под руководством NEA» . Techcrunch . Проверено 20 ноября 2014 года .
  67. Джоли О'Делл (15 октября 2013 г.). «Nginx связывает приятную сделку с финансированием в размере 10 миллионов долларов и сотни миллионов пользователей» . Венчурный бит . Проверено 18 октября 2013 года .
  68. ^ Frederic Lardinois (9 декабря 2014). «Nginx привлекает $ 20 млн в раунде B1 для расширения международной экспансии» . Techcrunch . Проверено 9 декабря 2014 .
  69. ^ Иордания NOVET (9 декабря 2014). «Nginx получает 20 миллионов долларов, потому что веб-сервер с открытым исходным кодом - это только начало» . VentureBeat . Проверено 9 декабря 2014 .
  70. ^ «NGINX выпускает свою новую платформу приложений NGINX» . SD Times . 6 сентября 2017 . Проверено 7 ноября 2018 .
  71. ^ «Введение в управление API NGINX: управление шлюзами API NGINX Plus с помощью контроллера NGINX - NGINX» . NGINX . 9 октября 2018 . Проверено 7 ноября 2018 .
  72. ^ «NGINX Amplify общедоступен - NGINX» . 1 октября 2017 . Проверено 4 июня 2018 .
  73. ^ «NGINX привлекает 43 миллиона долларов в виде финансирования серии C для ускорения модернизации приложений и цифровой трансформации для предприятий» . Проверено 11 октября 2018 года .
  74. ^ Воан-Николс, Стивен Дж. «F5 приобретает NGINX: чего ожидать от сделки» . ZDNet . Проверено 12 декабря 2019 .
  75. ^ Чимпану, Каталин. "Российская полиция обыскивает московский офис NGINX" . ZDNet . Проверено 12 декабря 2019 .
  76. ^ Цыденова, Надежда. «Российский Рамблер прекращает уголовное дело против веб-сервера Nginx» . Рейтер . Дата обращения 4 мая 2020 .

Внешние ссылки [ править ]

  • Официальный веб-сайт