Alors que la réponse de Steven aborde les points clés et un résumé très basique de ce qu'est chaque saveur, je vais vous donner une description beaucoup plus large des différences, car je travaille sur l'emballage assez souvent, et les ensembles très différents de modules dans chacun est absolument critique pour une bonne réponse. Les descriptions de base ne rendent pas vraiment justice à la comparaison. (Aussi, bravo à Steven qui cite mon ancien blog (et qui se réfère même à moi en tant que "mainteneur". Je voulais porter l'article sur nginx-is-coming-to-main sur mon blog plus récent, mais je n'en ai pas eu l'occasion).
Notez également que les derniers paquets pour le serveur web NGINX sont disponibles dans les PPAs NGINX, maintenus par moi-même, basés presque entièrement sur Debian. ( PPA stable (1.6.2 à partir de cet article) ; PPA de la ligne principale (1.7.7 à ce jour, 1.7.8 prévue pour le 4 décembre 2014))
Les différentes saveurs de nginx
:
Les différents parfums sont tous la même version de nginx
Cependant, les saveurs ont été décidées par les responsables du paquet Debian afin de fournir différents ensembles de fonctionnalités (pour nginx-extras
) ainsi que le strict minimum et l'ensemble "complet" des fonctions les plus efficaces que les serveurs web ont tendance à utiliser dans les sites web. La raison exacte pour laquelle une fonctionnalité a été choisie plutôt qu'une autre ne m'est pas connue, mais lors d'une discussion supplémentaire avec l'un des responsables Debian sur IRC, une déclaration a été faite confirmant mon évaluation initiale, à savoir que chaque variante était destinée à être un ensemble différent de fonctionnalités pour un cas d'utilisation différent. light
pour un ensemble de fonctionnalités légères qui répondent au strict minimum de l'hébergement de sites, full
pour un ensemble plus complet de fonctionnalités sans inclure d'extras beaucoup plus lourds, et extras
pour à peu près tout ce qui est dans le paquet qui peut être inclus dans Ubuntu. naxsi
Avant la version 15.04, la variante Naxsi contenait le strict minimum de modules, car naxsi pouvait être assez gourmand en ressources.
Apparemment, selon l'un des mainteneurs Debian de NGINX qui coordonne régulièrement avec Upstream NGINX dans une conversation privée dont je ne peux pas actuellement poster les logs, NGINX 2.x va avoir le support des modules chargeables. Dans ce cas, light
, full
y extras
deviendront des métapaquets qui feront appel aux paquets individuels contenant chaque module. La date à laquelle cela se produira n'est cependant pas connue, pas plus que les modules qui seront effectivement capables de le faire.
Dans sa forme actuelle, le nginx
Le paquet virtuel est conçu pour installer simplement l'une des versions disponibles. Par défaut, comme nginx-core
est principal et nous aimerions que les particuliers l'utilisent davantage, nginx-core
est le premier élément vu et tenté d'installation dans le paquet virtuel. (Cependant, le nginx
peut s'appuyer sur n'importe laquelle des saveurs de nginx
et est principalement là pour rendre l'installation un peu plus facile pour ceux qui n'ont pas besoin d'une préférence de saveur spécifique).
Une ventilation détaillée des modules spécifiques disponibles dans chaque variante (sur la base de la liste des modules de l'UE). Vivid debian/control
fichier et le Trusty debian/control
fichier (car les paquets Naxsi ont été supprimés dans Vivid)) est disponible ci-dessous. Notez que ceci ne reflète pas les changements les plus récents dans Ubuntu, et vous devriez vous référer à ces descriptions de paquets pour vous assurer que vous avez des informations mises à jour et précises. :
-
nginx-core
est la seule saveur dans la section Main des dépôts Ubuntu, à partir de 14.04, et existe sólo dans les dépÃ?ts Ubuntu (et n'est pas dans les PPAs ou Debian, et ne sera jamais inclus dans Debian). Il est effectivement identique à la version nginx-full
mais ne contient pas de modules tiers. Le raisonnement derrière l'utilisation de nginx-full
La base de cette variante était que nous voulions fournir un ensemble relativement complet de modules de base dans les binaires construits, tout en excluant les modules tiers. En tant que telle, elle ne contient aucun des modules tiers, car l'équipe de sécurité a examiné le code et a constaté que les modules tiers ont des styles de codage très différents qui ne sont pas aussi bien supportés que les modules inclus dans nginx-tarball (ceci est discuté plus en profondeur dans la section Demande d'inclusion principale/bogue de rapport qui contient les points de discussion et les discussions de révision supplémentaires sur ce qui pourrait être inclus dans Ubuntu Main for nginx
). Une liste complète des modules activés ici se trouve dans la description du paquet, que j'ai piquée ici :
MODULES HTTP STANDARD : Core, Access, Auth Basic, Auto Index, Browser, Charset, Empty GIF, FastCGI, Geo, Gzip, Headers, Index, Limit Requests, Limit Zone, Log, Map, Memcached, Proxy, Referer, Rewrite, SCGI, Split Clients, SSI, Upstream, User ID, UWSGI.
MODULES HTTP OPTIONNELS : Addition, Debug, GeoIP, Précompression Gzip, HTTP Sub, Image Filter, IPv6, Real IP, Spdy, SSL, Stub Status, Substitution, WebDAV, XSLT.
MODULES DE MAIL : Mail Core, IMAP, POP3, SMTP, SSL.
-
nginx-light
est la saveur la plus légère de nginx
disponible. Il se trouve dans le dépôt Universe et vous devez l'avoir activé pour l'utiliser. Il ne permet pas d'utiliser une grande partie des modules disponibles dans le référentiel -core
ou -full
. Il contient également des modules tiers. Les modules qui y sont disponibles sont les suivants :
MODULES HTTP STANDARD : Core, Access, Auth Basic, Auto Index, Charset, Empty GIF, FastCGI, Gzip, Headers, Index, Log, Map, Proxy, Rewrite, Upstream.
MODULES HTTP OPTIONNELS : Auth Request, Debug, Gzip Precompression, IPv6, Real Ip, SSL, Stub Status.
DES MODULES TIERS : Echo.
-
nginx-full
est l'une des versions les plus riches en fonctionnalités de l'application nginx
paquet. Comme son light
Il se trouve dans le référentiel Universe. Il permet d'activer la plupart des modules de base inclus qui sont standard et optionnels dans le tarball source de from-nginx, ainsi que plusieurs modules tiers supplémentaires conçus pour étendre les capacités du serveur web nginx. Ses modules sont les suivants :
MODULES HTTP STANDARD : Core, Access, Auth Basic, Auto Index, Browser, Charset, Empty GIF, FastCGI, Geo, Gzip, Headers, Index, Limit Requests, Limit Zone, Log, Map, Memcached, Proxy, Referer, Rewrite, SCGI, Split Clients, SSI, Upstream, User ID, UWSGI.
MODULES HTTP OPTIONNELS : Addition, Auth Request, Debug, GeoIP, Gzip Précompression, HTTP Sub, Image Filter, IPv6, Real IP, Spdy, SSL, Stub Status, Substitution, WebDAV, XSLT.
MODULES DE MAIL : Mail Core, IMAP, POP3, SMTP, SSL.
DES MODULES TIERS : Auth PAM, DAV Ext, Echo, HTTP Substitution Filter, Upstream Fair Queue.
-
nginx-extras
est la version la plus riche en fonctionnalités de l'application nginx
paquet. Et comme son full
y light
frères, elle aussi est dans le dépôt de l'Univers. Il permet à tous les modules de nginx-full
mais comprend également des modules supplémentaires (tels que le module Perl), et de nombreux autres modules tiers conçus pour étendre encore davantage les capacités du serveur web nginx. La liste complète de ses modules se trouve ci-dessous :
MODULES HTTP STANDARD : Core, Access, Auth Basic, Auto Index, Browser, Charset, Empty GIF, FastCGI, Geo, Gzip, Headers, Index, Limit Requests, Limit Zone, Log, Map, Memcached, Proxy, Referer, Rewrite, SCGI, Split Clients, SSI, Upstream, User ID, UWSGI.
MODULES HTTP OPTIONNELS : Addition, Auth Request, Debug, Embedded Perl, FLV, GeoIP, précompression Gzip, filtre d'image, IPv6, MP4, index aléatoire, IP réel, Secure Link, Spdy, SSL, Stub Status, Substitution, WebDAV, XSLT.
MODULES DE MAIL : Mail Core, IMAP, POP3, SMTP, SSL.
DES MODULES TIERS : 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
est la variante de nginx qui dispose du module Naxsi Web Application Firewall. Il se trouve également dans Universe, mais Cette version n'est plus prise en charge par les mainteneurs Debian et sera complètement abandonnée par Ubuntu avec la version 15.04. En plus du module WAF de Naxsi, il comprend également un ensemble de modules beaucoup plus légers que nginx-full
. La liste complète des modules se trouve ci-dessous :
MODULES HTTP STANDARD : 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.
MODULES HTTP OPTIONNELS : Debug, IPv6, Real IP, SSL, Stub Status.
DES MODULES TIERS : Naxsi, Cache Purge, Upstream Fair.
Utilisation des ressources parmi les arômes
Bien que je ne sache pas si des tests de référence ont été effectués sur les différentes versions de l'EPC. nginx
il est généralement logique de supposer que plus la version de l'interface utilisateur est riche en fonctionnalités, plus l'interface utilisateur est facile à utiliser. nginx
que vous utilisez, plus il utilisera de ressources.
Cependant, contrairement à Apache qui peut être une sorte de pute de mémoire avec le plus de modules activés, nginx
ne consomme toujours pas autant de mémoire qu'Apache lorsque les modules sont activés. (L'exception à cette affirmation est le naxsi
saveur. Cette saveur consomme toujours beaucoup plus de ressources, car il s'agit d'un pare-feu d'application Web ainsi que d'un serveur Web).
J'ajouterai des benchmarks à cette réponse si j'en trouve, mais encore une fois, je n'ai pas connaissance de benchmarks existants pour les différentes saveurs les unes par rapport aux autres. Et même si les sites que j'exploite n'ont pas un trafic important, je n'ai pas remarqué de réelle diminution des performances entre nginx-extras
, nginx-full
o nginx-light
sur un site géré par PHP.