Хоча відповідь Стівена торкається ключових моментів і дуже базового резюме того, що таке кожен аромат, я дам вам набагато більш детальний опис відмінностей, оскільки я працюю над упаковкою зовсім небагато, і дуже різні набори модулів в кожен абсолютно критичний для гарної відповіді. Основні описи не дуже справедливі для порівняння. (Крім того, кудо Стівен, цитуючи мій старший блог (і навіть посилаючись на мене як на "обслуговуючого персоналу". Я мав намір перенести nginx-приходить до головного повідомлення до свого нового блогу, але у мене не було можливості .)
Також зауважте, що останні пакети для веб-сервера NGINX доступні в PPA NGINX, який я підтримую, майже повністю від Debian. ( Стабільний РРА (1.6.2 , як цей пост); Магістраль РРА (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 Upstream, в приватній розмові, про яку наразі я не можу публікувати журнали, NGINX 2.x матиме підтримку завантажуваного модуля. В цьому випадку light
, full
і extras
будуть метапакетамі , які вимагають від індивідуальних упаковок , що містять кожен модуль. Дата, коли це стане справ, невідома, однак, і які модулі насправді не зможуть це зробити.
Наразі nginx
віртуальний пакет призначений для встановлення однієї з доступних версій. За замовчуванням, як nginx-core
це в основному, і ми хотіли б, якби люди використовували його більше, nginx-core
це перший предмет, який можна побачити та спробувати встановити у віртуальному пакеті. (Однак nginx
упаковка може покладатися на будь-який з ароматів nginx
, і він є, головним чином, для того, щоб зробити процес трохи легшим для тих, кому не потрібні певні переваги аромату)
Детальна розбивка з конкретними модулями , доступними в будь-якому вигляді (заснована від Vivid debian/control
файлу і Trusty debian/control
файл (як пакети Naxsi були видалені в Vivid)) є нижчою. Зауважте, що це не відображає найсучасніших змін у Ubuntu, і вам слід звернутися до цих описів пакетів, щоб переконатися, що ви оновили точну інформацію :
nginx-core
є єдиним ароматом у головному розділі репозиторіїв Ubuntu станом на 14.04 і існує лише у сховищах Ubuntu (і не є в PPA або Debian, і не збирається ніколи включатися в Debian). Він ефективно ідентичний nginx-full
аромату, але не містить сторонніх модулів. Міркування щодо використанняnginx-full
в якості основи для цього варіанту було те, що ми хотіли забезпечити відносно повноцінний набір основних модулів у вбудованих бінарних файлах, одночасно утримуючи сторонні модулі. Як такий, він не містить жодного із сторонніх модулів, оскільки Команда з безпеки зробила огляд коду та виявила, що сторонні модулі мають широко різні стилі кодування, які не так добре підтримуються, як включені в nginx-tarball модулі (це більш детально обговорюється в програмі " Основний запит на включення / запит" , який містить пункти обговорення та подальший перегляд обговорень щодо того, що може бути включено в "Основний Ubuntu" nginx
). Повний перелік включених тут модулів міститься в описі пакета, який я тут зазначив:
СТАНДАРТНІ МОДУЛИ HTTP: Core, Access, Auth Basic, Auto Index, браузер, charset, порожній GIF, FastCGI, Geo, Gzip, заголовки, індекс, обмеження запитів, обмеження зони, журнал, карта, запомнено, проксі, референт, перезапис, SCGI , Розділені клієнти, SSI, upstream, User ID, UWSGI.
ОПЦІОНАЛЬНІ МОДУЛИ HTTP: додавання, налагодження, GeoIP, попереднє стиснення Gzip, HTTP Sub, фільтр зображень, IPv6, реальний IP, шпигун, SSL, стан роботи, заміна, WebDAV, XSLT.
МОДУЛИ ПОШТИ: Mail Core, IMAP, POP3, SMTP, SSL.
nginx-light
- найлегший nginx
доступний аромат . Він знаходиться у сховищі Всесвіту, і ви повинні мати його, щоб його використовувати. Це не дозволяє велику кількість модулів, наявних у -core
або -full
. Він також містить сторонні модулі. Доступні в ньому модулі:
СТАНДАРТНІ МОДУЛИ HTTP: Core, Access, Auth Basic, Auto Index, Charset, Empty GIF, FastCGI, Gzip, Headers, Index, Log, Map, Proxy, Rewrite, Upstream.
ОПЦІОНАЛЬНІ МОДУЛИ HTTP: запит на аутентифікацію, налагодження, попередня компресія Gzip, IPv6, Real Ip, SSL, стан роботи.
МОДУЛИ ТРЕТИХ СТОРІН: Ехо.
nginx-full
є одним з найбільш насичених функцій ароматів nginx
упаковки. Як і його light
аналог, він знаходиться у сховищі Всесвіту. Це дає можливість більшості основних ядерних модулів, які є стандартними та необов’язковими у вихідному тарболі від-nginx, а також ще декілька сторонніх модулів, розроблених для розширення можливостей веб-сервера nginx. Це такі модулі:
СТАНДАРТНІ МОДУЛИ HTTP: Core, Access, Auth Basic, Auto Index, браузер, charset, порожній GIF, FastCGI, Geo, Gzip, заголовки, індекс, обмеження запитів, обмеження зони, журнал, карта, запомнено, проксі, референт, перезапис, SCGI , Розділені клієнти, SSI, upstream, User ID, UWSGI.
ОПЦІОНАЛЬНІ МОДУЛИ HTTP: додавання, запит на підтвердження автентичності, налагодження, GeoIP, попереднє стиснення Gzip, SubTP, фільтр зображень, IPv6, реальний IP, шпигун, 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
брати, він теж є у сховищі Всесвіту. Він дозволяє використовувати всі модулі, nginx-full
але також включає додаткові модулі (такі як модуль Perl) та багато інших сторонніх модулів, розроблених для ще більшого розширення можливостей веб-сервера nginx. Повний перелік модулів наведено нижче:
СТАНДАРТНІ МОДУЛИ HTTP: Core, Access, Auth Basic, Auto Index, браузер, charset, порожній GIF, FastCGI, Geo, Gzip, заголовки, індекс, обмеження запитів, обмеження зони, журнал, карта, запомнено, проксі, референт, перезапис, SCGI , Розділені клієнти, SSI, upstream, User ID, UWSGI.
ОПЦІОНАЛЬНІ МОДУЛИ HTTP: додавання, запит на аутентифікацію, налагодження, вбудований Perl, FLV, GeoIP, попередня компресія Gzip, фільтр зображень, IPv6, MP4, випадковий індекс, реальна IP, захищена посилання, шпигун, SSL, стан роботи, заміна, WebDAV, XSLT.
МОДУЛИ ПОШТИ: Mail Core, IMAP, POP3, SMTP, SSL.
МОДУЛИ ТРЕТИХ СТОРІН: Auth PAM, Chunkin, DAV Ext, Echo, Embedded Lua, Fancy Index, HttpHeadersMore, HTTP Filter Substitution, 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 Quets, Limit Zone, Log, Map, Memcached, Proxy, Referer, Rewrite , Спліт-клієнти, SSI, Upstream, User ID.
ОПЦІЙНІ МОДУЛИ HTTP: налагодження, IPv6, реальний IP, SSL, стан роботи.
МОДУЛИ ТРЕТИХ СТОРІН: Naxsi, очищення кешу, ярмарок вгору.
Використання ресурсів серед ароматів
Хоча я не знаю жодних орієнтирів, які були застосовані на різних смакових якостях nginx
, зазвичай логічно припустити, що чим більше функціональна версія nginx
використовується, тим більше ресурсів вона буде використовувати.
Однак, на відміну від Apache, який може бути чимось курвою пам’яті з увімкненою більшою кількістю модулів, nginx
все ще не їсть стільки пам’яті порівняно з Apache, коли модулі включені. (Виняток із цього твердження - naxsi
аромат. Цей аромат завжди їсть набагато більше ресурсів, оскільки це брандмауер веб-додатків, а також веб-сервер.)
Я додаю орієнтири до цієї відповіді, якщо знайду їх, але знову ж таки, я не знаю жодних існуючих орієнтирів для різних ароматів один проти одного. І навіть незважаючи на сайти я біг не великий трафіку, я не помітив яке - або реальне зниження продуктивності між nginx-extras
, nginx-full
або nginx-light
на PHP ініціативи сайту.