Каково различие между базовым, полным, отдельно оплачиваемыми предметами и легкими пакетами для nginx?

nginx на Ubuntu виртуальный пакет, обеспеченный одним из пяти пакетов из официальных репозиториев (по крайней мере, с 14,04, принимая значение по умолчанию к nginx-core, Я верю):

$ apt-cache depends nginx | tail -n+2 | cut -d: -f 2 | sort -u
 nginx-core
 nginx-extras
 nginx-full
 nginx-light
 nginx-naxsi

Каково различие между этими пакетами и каковы рекомендуемые варианты использования для них?

Эта несколько старая страница Debian Wiki имеет сравнение функции между extras, full, light и naxsi, но никакое упоминание не сделано из core. Сколько из него изменилось в 14,04?


вторичный Насколько я понимаю, nginx не поддерживает включение во время выполнения модулей как Apache, делает, устанавливая - также nginx-extras выполнение влияния?

72
задан 3 December 2014 в 18:17

2 ответа

В то время как ответ Steven затрагивает ключевые пункты и очень простую сводку того, какова каждая разновидность, я дам Вам намного большее описание различий, поскольку я работаю над упаковкой вполне немного, и совсем другие наборы модулей в каждом абсолютно очень важны для хорошего ответа. Основные описания не воздают многому должное к сравнению. (Кроме того, благодарность Steven, заключающему мой более старый блог в кавычки (и даже называющему меня 'специалистом по обслуживанию'. Я означал портировать сообщение nginx-is-coming-to-main на свой более новый блог, но у меня не было возможности.)

Также обратите внимание, что последние пакеты для веб-сервера NGINX доступны в NGINX PPAs, сохраняемом один, базирующемся почти полностью прочь Debian. (Стабильный PPA (1.6.2 с этого сообщения); Магистраль PPA (1.7.7 с этого сообщения, с 1.7.8 намеченными для приземления 4 декабря 2014))


Различные разновидности nginx:

Различные разновидности являются всеми одинаковыми версия nginx, однако разновидности были решены специалистами по обслуживанию пакета Debian для обеспечения различных наборов функций (для nginx-extras) а также абсолютный минимум и самый эффективный при функции 'полный' набор функций, которые веб-серверы имеют тенденцию использовать в веб-сайтах. Точная причина функция была предпочтена другому, не известна мне, однако в дополнительном обсуждении с одним из специалистов по обслуживанию Debian на IRC, оператор был сделан, подтвердив мою начальную оценку, что каждый вариант был предназначен будучи различным набором функций различного варианта использования - light для легкого набора функций, который встречает абсолютный минимум хостинга сайта, full для большего количества полного набора функций без включения любых очень более тяжелых отдельно оплачиваемых предметов, и extras для в значительной степени всего, что находится в пакете, который может быть включен в Ubuntu. naxsi, до 15,04, был вариант Naxsi конкретно только с абсолютным минимумом модулей в нем, поскольку naxsi мог быть довольно интенсивно использующим ресурсы.

Предположительно, по словам одного из специалистов по обслуживанию Debian NGINX, который регулярно координирует с восходящим NGINX, в частном разговоре которого я не могу в настоящее время отправлять журналы, NGINX 2.x будет иметь поддержку загружаемого модуля. В этом случае, light, full, и extras станет метапакетами, которые призывают отдельные пакеты, содержащие каждый модуль. Дата это становится случаем, не известна, однако, ни - какие модули на самом деле будут способны к выполнению этого.

Поскольку это в настоящее время стоит, nginx виртуальный пакет разработан, чтобы просто установить одну из доступных версий. По умолчанию, как nginx-core находится в основном, и мы любили бы, если люди использовали его больше, nginx-core первый объект, замеченный и предпринятый установкой в виртуальном пакете. (Однако nginx пакет может полагаться на любую из разновидностей nginx, и должен главным образом там сделать установку немного легче для тех, кому не нужно никакое определенное предпочтение разновидности),

Подробная разбивка с определенными модулями, доступными в каждом варианте (базирующийся прочь Яркого debian/control файл и Надежный человек debian/control файл (поскольку пакеты Naxsi были удалены в Ярком)) доступно ниже. Обратите внимание, что это не отражает самые актуальные изменения в Ubuntu, и необходимо обратиться к тем описаниям пакета, чтобы удостовериться, что Вы обновили, достоверная информация:

  • nginx-core единственная разновидность в разделе Main Репозиториев Ubuntu, с 14,04, и существует только в репозиториях Ubuntu (и не находится в PPAs или Debian, и не будет включенным в Debian никогда). Это эффективно идентично nginx-full разновидность, но не содержит сторонних модулей. Обоснование позади использования nginx-full поскольку основа для этого варианта была то, что мы хотели обеспечить относительно абсолютный набор базовых модулей в созданных двоичных файлах при не допускании сторонних модулей одновременно. По сути, это не содержит ни одного из сторонних модулей, так как Служба безопасности сделала обзор кода и нашла, что сторонние модули имеют широко переменные стили кодирования, которые не поддерживаются так приятно как nginx-tarball-included модули (это обсуждено более всестороннее в основной ошибке Запроса/Отчета Включения, которая содержит предметы обсуждения и обсуждения дальнейшего рассмотрения относительно того, что могло быть включено в Ubuntu, Основную для nginx). Полный список модулей включил, вот находится в описании пакета, которое я придрался к мелочам здесь:

    СТАНДАРТНЫЕ HTTP-МОДУЛИ: ядро, доступ, подлинный основной, автоматический индекс, браузер, набор символов, пустой GIF, FastCGI, гео-, Gzip, заголовки, индекс, предельные запросы, предельная зона, журнал, карта, Memcached, прокси, Referer, переписывают, SCGI, клиенты разделения, SSI, восходящий поток, идентификатор пользователя, UWSGI.

    ДОПОЛНИТЕЛЬНЫЕ HTTP-МОДУЛИ: дополнение, отладка, GeoIP, предварительное сжатие Gzip, HTTP Sub, фильтр изображения, IPv6, реальный IP, Spdy, SSL, тупиковое состояние, замена, WebDAV, XSLT.

    ПОЧТОВЫЕ МОДУЛИ: почтовое ядро, IMAP, POP3, SMTP, SSL.

  • nginx-light самая легкая разновидность nginx доступный. Это находится в репозитории Вселенной, и необходимо было позволить этому использовать его. Это не включает большую сумму модулей, доступных в -core или -full. Это также содержит сторонние модули. Модули, доступные в нем, следующие:

    СТАНДАРТНЫЕ HTTP-МОДУЛИ: ядро, доступ, подлинный основной, автоматический индекс, набор символов, пустой GIF, FastCGI, Gzip, заголовки, индекс, журнал, карта, прокси, переписывает, восходящий поток.

    ДОПОЛНИТЕЛЬНЫЕ HTTP-МОДУЛИ: подлинный запрос, отладка, предварительное сжатие Gzip, IPv6, реальный IP, SSL, тупиковое состояние.

    СТОРОННИЕ МОДУЛИ: эхо.

  • nginx-full одна из более многофункциональных разновидностей nginx пакет. Как light дубликат, это находится в репозитории Вселенной. Это включает большинство включенных модулей ядра, которые являются стандартными и дополнительными в от - nginx источник tarball, а также еще несколько сторонних модулей, разработанных для расширения возможностей nginx веб-сервера. Это - модули, следующие:

    СТАНДАРТНЫЕ HTTP-МОДУЛИ: ядро, доступ, подлинный основной, автоматический индекс, браузер, набор символов, пустой GIF, FastCGI, гео-, Gzip, заголовки, индекс, предельные запросы, предельная зона, журнал, карта, Memcached, прокси, Referer, переписывают, SCGI, клиенты разделения, SSI, восходящий поток, идентификатор пользователя, UWSGI.

    ДОПОЛНИТЕЛЬНЫЕ HTTP-МОДУЛИ: дополнение, подлинный запрос, отладка, GeoIP, предварительное сжатие Gzip, HTTP Sub, фильтр изображения, IPv6, реальный IP, Spdy, SSL, тупиковое состояние, замена, WebDAV, XSLT.

    ПОЧТОВЫЕ МОДУЛИ: почтовое ядро, IMAP, POP3, SMTP, SSL.

    СТОРОННИЕ МОДУЛИ: автор PAM, расширение DAV, эхо, фильтр замены HTTP, восходящая справедливая очередь.

  • nginx-extras самая многофункциональная разновидность nginx пакет. И как full и light братья, это также находится в репозитории Вселенной. Это включает все модули в nginx-full но также и включает дополнительные модули (такие как модуль Perl) и намного больше сторонних модулей, разработанных, чтобы еще больше расширить возможности nginx веб-сервера. Его полный список модулей ниже:

    СТАНДАРТНЫЕ HTTP-МОДУЛИ: ядро, доступ, подлинный основной, автоматический индекс, браузер, набор символов, пустой GIF, FastCGI, гео-, Gzip, заголовки, индекс, предельные запросы, предельная зона, журнал, карта, Memcached, прокси, Referer, переписывают, SCGI, клиенты разделения, SSI, восходящий поток, идентификатор пользователя, UWSGI.

    ДОПОЛНИТЕЛЬНЫЕ HTTP-МОДУЛИ: дополнение, подлинный запрос, отладка, встроенный Perl, FLV, GeoIP, предварительное сжатие Gzip, фильтр изображения, IPv6, MP4, случайный индекс, реальный IP, безопасная ссылка, Spdy, SSL, тупиковое состояние, замена, WebDAV, XSLT.

    ПОЧТОВЫЕ МОДУЛИ: почтовое ядро, IMAP, POP3, SMTP, SSL.

    СТОРОННИЕ МОДУЛИ: Автор PAM, Chunkin, Расширение DAV, Эхо, Встроенный Lua, Необычный Индекс, HttpHeadersMore, Фильтр Замены HTTP, http нажатие, Комплект разработчика Nginx, Прогресс Загрузки, восходящая Справедливая Очередь.

  • nginx-naxsi вариант nginx, который имеет веб-приложение Naxsi в наличии модуль Брандмауэра. Это также находится во Вселенной, однако эта разновидность больше не поддерживается специалистами по обслуживанию Debian и будет полностью отброшена из Ubuntu с этими 15,04 выпусками. В дополнение к модулю WAF Naxsi это также включает намного более легкий набор модулей, чем nginx-full. Полный список модулей ниже:

    СТАНДАРТНЫЕ HTTP-МОДУЛИ: ядро, доступ, подлинный основной, автоматический индекс, браузер, набор символов, базовый, пустой GIF, FastCGI, гео-, Gzip, заголовки, индекс, предельные запросы, предельная зона, журнал, карта, Memcached, прокси, Referer, переписывают, клиенты разделения, SSI, восходящий поток, идентификатор пользователя.

    ДОПОЛНИТЕЛЬНЫЕ HTTP-МОДУЛИ: отладка, IPv6, реальный IP, SSL, тупиковое состояние.

    СТОРОННИЕ МОДУЛИ: Naxsi, чистка кэша, восходящая ярмарка.


Использование ресурсов среди разновидностей

В то время как я не знаю ни о каких сравнительных тестах, которые были выполнены на различных разновидностях nginx, обычно логично предположить что более поддерживающее функцию версия nginx Вы используете, больше ресурсов, которые это использовало бы.

Однако в отличие от Apache, который может быть чем-то вроде шлюхи памяти с большим количеством модулей, включил, nginx все еще не ест столько же памяти по сравнению с Apache, когда модули включены. (Исключение к этому оператору naxsi разновидность. Та разновидность всегда ест намного больше ресурсов, поскольку это - веб-приложение Брандмауэр, а также веб-сервер.)

Я добавлю сравнительные тесты к этому ответу, если я найду их, но снова, я не знаю ни о каких существующих сравнительных тестах для различных разновидностей друг против друга. И даже при том, что сайты, которые я выполняю, не имеют интенсивного движения, я не заметил реального снижения производительности между nginx-extras, nginx-full, или nginx-light на PHP-управляемом сайте.

100
ответ дан 22 November 2019 в 23:22

Вот очень высокоуровневая оценка, базирующаяся главным образом на описания в пакетах . (Я собираюсь противоречить поставляющим вариантам использования в качестве примера для каждого, но я изобразил, что это очень удовлетворило мое любопытство, таким образом, я могу также внести его.)

От самого маленького до самого большого:

nginx-свет: "базовая версия"

Минимальный набор модулей для основной функциональности.

nginx-naxsi: "версия с naxsi"

минимальный набор, плюс укрепленный "Nginx Анти-Xss & Внедрение SQL" конфигурация и ее необходимые плагины.

nginx-ядро: "базовая версия"

стандарт nginx развертывание, меньше сторонние модули.

Это - первый Канонически поддерживаемый nginx пакет. Это находится в Ubuntu "основной" репозиторий вместо поддерживаемого сообществом репозитория "вселенной". Посмотрите, что объявление "nginx-ядро находится теперь в Надежном человеке Ubuntu 14.04 Основного!" на архив неофициального специалиста по обслуживанию (более старый и ныне несуществующий) блог или на копия старого сообщения на неофициальном блоге специалиста по обслуживанию:

ни одна из уже установленных разновидностей nginx не включена в Основной Ubuntu (nginx-легкий, nginx-полный, nginx-отдельно-оплачиваемые-предметы и nginx-naxsi). Служба безопасности Ubuntu заявила, что сторонние модули дико отличаются в кодировании и поэтому не могут поддерживаться.

С этой целью, мы создали пакет, названный nginx-ядром, которое было включено в основной репозиторий. Этот пакет содержит только модули, которые поставлются с запасом nginx tarball. Мы не включаем сторонних модулей с этим пакетом, просто модули, которые прибывают из NGINX в восходящем направлении.

nginx-полный: "стандартная версия"

Стандарт nginx развертывание, включая часто используемые сторонние модули.

nginx-отдельно-оплачиваемые-предметы: "расширенная версия"

стандарт nginx развертывание плюс несколько нечасто используемых и великоватых модулей.

14
ответ дан 22 November 2019 в 23:22

Другие вопросы по тегам:

Похожие вопросы: