if ($answer_counter == 1): ?>
endif; ?>
В то время как ответ Стивена затрагивает ключевые моменты и очень основное резюме того, что каждый вкус, я дам вам гораздо более подробное описание различий, поскольку я работаю над упаковкой совсем немного, а самые разные наборы модулей в каждом абсолютно критично для хорошего ответа. Основные описания не слишком оправдывают сравнение. (Кроме того, престиж Стивен цитирует мой старый блог (и даже ссылался на меня как на «сопровождающего». Я хотел был перенести сообщение nginx-to-coming-to-main в свой новый блог, но у меня не было возможности .) р>
Также обратите внимание, что последние пакеты для веб-сервера NGINX доступны в PPIN NGINX, который поддерживается мной, почти полностью отключен от Debian. ( Стабильный PPA (1.6.2 на этом посту); Mainline 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, которые регулярно координируются с Upstream NGINX в приватном разговоре, из которого я не могу писать журналы, NGINX 2.x будет иметь поддержку загружаемого модуля. В этом случае light
, full
и extras
станут метапакетами, которые обращаются к отдельным пакетам, содержащим каждый модуль. Однако дата, когда это становится так, неизвестна, и какие модули на самом деле не способны это сделать.
Как и в настоящее время, виртуальный пакет nginx
предназначен для установки одной из доступных версий. По умолчанию, поскольку nginx-core
находится в основном, и нам бы очень понравилось, если бы люди использовали его больше, nginx-core
- это первый элемент, который видел и пытался установить в виртуальном пакете. (Тем не менее, пакет nginx
может полагаться на любой из вкусов nginx
и в основном там, чтобы сделать установку немного проще для тех, кому не нужны какие-либо особые предпочтения)
Подробная разбивка с конкретными модулями, доступными в каждом варианте (на основе Vivid debian/control
file и Trusty debian/control
file (поскольку пакеты Naxsi были удалены в Vivid), можно найти ниже. Обратите внимание, что это не отражает самые последние изменения в Ubuntu, и вы должны обратиться к этим описаниям пакетов, чтобы убедиться, что у вас есть обновленная, точная информация :
-
nginx-core
- единственный вкус в главном разделе репозиториев Ubuntu, начиная с 14.04, и существует only в репозиториях Ubuntu (и не находится в PPA или Debian, и он не будет включен в Debian когда-либо). Он фактически идентичен вкусу nginx-full
, но не содержит сторонних модулей. Обоснованием использования nginx-full
в качестве основы для этого варианта было то, что мы хотели предоставить относительно полноценный набор базовых модулей во встроенных двоичных файлах, одновременно сохраняя модули сторонних разработчиков. Таким образом, он не содержит каких-либо сторонних модулей, так как команда безопасности провела обзор кода и обнаружила, что сторонние модули имеют сильно различающиеся стили кодирования, которые не так хорошо поддерживаются, как включенный nginx-tarball модулей (это обсуждается более подробно в ошибке основного запроса включения / отчета , который содержит точки обсуждения и дальнейшие обсуждения в отношении того, что может быть включено в Ubuntu Main для nginx
).Полный список модулей, включенных здесь, находится в описании пакета, которое я тут запомнил:
СТАНДАРТНЫЕ МОДУЛИ HTTP: Core, Access, Auth Basic, Auto Index, Browser,
Charset, пустой GIF, FastCGI, Geo, Gzip, заголовки, индекс, лимитные запросы,
Limit Zone, Log, Map, Memcached, Proxy, Referer, Rewrite, SCGI,
Split Clients, SSI, Upstream, User ID, UWSGI.
ДОПОЛНИТЕЛЬНЫЕ МОДУЛИ HTTP: добавление, отладка, GeoIP, предварительное сжатие Gzip, HTTP Sub,
Фильтр изображения, IPv6, Real IP, Spdy, SSL, состояние заглушки, замена, WebDAV,
XSLT.
ПОЧТОВЫЕ МОДУЛИ: Mail Core, IMAP, POP3, SMTP, SSL.
-
nginx-light
- самый легкий вкус nginx
. Он находится в репозитории Universe, и вы должны иметь возможность использовать его. Он не позволяет использовать большое количество модулей в -core
или -full
. Он также содержит сторонние модули. Доступные в нем модули следующие:
СТАНДАРТНЫЕ МОДУЛИ HTTP: Core, Access, Auth Basic, Auto Index, Charset,
Пустой GIF, FastCGI, Gzip, заголовки, индекс, журнал, карта, прокси, переписывание, восходящий поток.
ДОПОЛНИТЕЛЬНЫЕ МОДУЛИ HTTP: запрос, отладка, предварительный сжатие Gzip, IPv6, реальный
Ip, SSL, состояние заглушки.
МОДУЛИ ТРЕТЬИХ ЛИЦ: Эхо.
-
nginx-full
является одним из наиболее функциональных вкусов пакета nginx
. Как и его сопоставитель light
, он находится в репозитории Universe. Он позволяет большинству базовых модулей, которые являются стандартными и необязательными в исходном tarball из-nginx, а также несколько сторонних модулей, предназначенных для расширения возможностей веб-сервера nginx. Это следующие модули:
СТАНДАРТНЫЕ МОДУЛИ HTTP: Core, Access, Auth Basic, Auto Index, Browser,
Charset, пустой GIF, FastCGI, Geo, Gzip, заголовки, индекс, лимитные запросы,
Limit Zone, Log, Map, Memcached, Proxy, Referer, Rewrite, SCGI,
Split Clients, SSI, Upstream, User ID, UWSGI.
ДОПОЛНИТЕЛЬНЫЕ МОДУЛИ HTTP: добавление, запрос аутентификации, отладка, GeoIP, Gzip
Предварительное сжатие, HTTP Sub, Фильтр изображений, IPv6, Real IP, Spdy, SSL, Состояние заглушки,
Замена, WebDAV, XSLT.
ПОЧТОВЫЕ МОДУЛИ: Mail Core, IMAP, POP3, SMTP, SSL.
МОДУЛИ ТРЕТЬИХ ПАРТИЙ: Auth PAM, DAV Ext, Echo, HTTP Substitution Filter,
Upstream Fair Queue.
-
nginx-extras
- наиболее функциональный аромат пакета nginx
. И, как и его full
и light
brothers, он также находится в репозитории Universe. Он включает все модули в nginx-full
, а также включает в себя дополнительные модули (такие как модуль Perl) и многие другие сторонние модули, предназначенные еще больше расширить возможности веб-сервера nginx. Полный список модулей приведен ниже:
СТАНДАРТНЫЕ МОДУЛИ HTTP: Core, Access, Auth Basic, Auto Index, Browser,
Charset, пустой GIF, FastCGI, Geo, Gzip, заголовки, индекс, лимитные запросы,
Limit Zone, Log, Map, Memcached, Proxy, Referer, Rewrite, SCGI,
Split Clients, SSI, Upstream, User ID, UWSGI.
ДОПОЛНИТЕЛЬНЫЕ МОДУЛИ HTTP: добавление, аут-запрос, отладка, встроенный Perl, FLV,
GeoIP, предварительное сжатие Gzip, фильтр изображений, IPv6, MP4, случайный указатель, реальный IP,
Secure Link, Spdy, SSL, состояние заглушки, замена, WebDAV, XSLT.
ПОЧТОВЫЕ МОДУЛИ: Mail Core, IMAP, POP3, SMTP, SSL.
МОДУЛИ ТРЕТЬИХ ПАРТИЙ: Auth PAM, Chunkin, DAV Ext, Echo, Embedded Lua,
Fancy Index, HttpHeadersMore, HTTP Substitution Filter, http push,
Nginx Development Kit, Upload Progress, Upstream Fair Queue.
-
nginx-naxsi
- это вариант nginx, который имеет доступный брандмауэр веб-приложений Naxsi. Он также находится во Вселенной, однако этот аромат больше не поддерживается поддерживающими Debian и полностью удаляется из Ubuntu с выпуском 15.04. В дополнение к модулю Naxsi WAF он также включает в себя гораздо более легкий набор модулей, чем nginx-full
. Полный список модулей приведен ниже:
СТАНДАРТНЫЕ МОДУЛИ HTTP: Core, Access, Auth Basic, Auto Index, Browser,
Charset, Core, Empty GIF, FastCGI, Geo, Gzip, Headers, Index,
Limit Requests, Limit Zone, Log, Map, Memcached, Proxy, Referer,
Rewrite, Split Clients, SSI, Upstream, User ID.
ДОПОЛНИТЕЛЬНЫЕ МОДУЛИ HTTP: отладка, IPv6, реальный IP, SSL, состояние заглушки.
МОДУЛИ ТРЕТЬИХ ПАРТИЙ: Наксси, Очистка кэша, Экспедиционная ярмарка.
Использование ресурсов среди ароматов
В то время как мне неизвестны какие-либо тесты, которые были запущены в различных вариантах nginx
, обычно логично предположить, что чем больше функция поддерживает версию nginx
, которую вы используете, тем больше ресурсов она будет использовать.
Однако, в отличие от Apache, который может быть чем-то вроде шлюзовой памяти с включенным количеством модулей, nginx
по-прежнему не потребляет столько памяти по сравнению с Apache, когда модули включены. (Исключением из этого утверждения является naxsi
.Этот вкус всегда потребляет намного больше ресурсов, так как это брандмауэр веб-приложений, а также веб-сервер.)
Я добавлю критерии для этого ответа, если найду их, но опять же, я не знаю никаких существующих тестов для разных вкусов друг против друга. И хотя на сайтах, которые я запускаю, нет интенсивного трафика, я не заметил никакого реального снижения производительности между nginx-extras
, nginx-full
или nginx-light
на сайте, управляемом PHP.