Tandis que la réponse de Steven aborde les points clés et constitue un résumé très élémentaire de chaque saveur, je vais vous donner une description beaucoup plus détaillée des différences, car je travaille assez sur l'emballage, et les ensembles de modules très différents dans chacun est absolument essentiel pour une bonne réponse. Les descriptions de base ne rendent pas vraiment justice à la comparaison. (En outre, félicitations à Steven qui cite mon ancien blog (et me qualifiant même de «mainteneur». Je voulais porter le post de nginx-is-coming-to-main-principal sur mon blog plus récent, mais je n'ai pas eu l'occasion de le faire. .)
Notez également que les derniers packages pour le serveur Web NGINX sont disponibles dans les PPA NGINX, maintenus par moi-même et basés presque entièrement sur Debian. ( PPA stable (1.6.2 à ce poste); PPA sur la canalisation principale (1.7.7 à ce poste, dont 1.7.8 devrait atterrir le 4 décembre 2014))
Les différentes saveurs de nginx
:
Les différentes versions sont toutes de la même version nginx
, cependant les versions ont été choisies par les responsables de la maintenance du paquet Debian afin de fournir différents jeux de fonctionnalités (pour nginx-extras
) ainsi que le strict minimum et le jeu de fonctions "complet" le plus efficace qui les serveurs Web ont tendance à être utilisés dans les sites Web. La raison exacte pour laquelle une caractéristique a été choisie par rapport à une autre ne m’est pas connue. Cependant, lors de discussions supplémentaires avec l’un des responsables de Debian sur IRC, une déclaration affirmant mon évaluation initiale a été faite, selon laquelle chaque variante était censée constituer un ensemble de fonctionnalités différent pour un cas d'utilisation différent - light
pour un ensemble léger de fonctionnalités répondant au minimum requis en matière d'hébergement de site, full
pour un ensemble plus complet de fonctionnalités sans inclure des extras beaucoup plus lourds, etextras
pour à peu près tout ce qui est dans le paquet qui peut être inclus dans Ubuntu. naxsi
, avant 15.04, était la variante Naxsi spécifiquement avec seulement le strict minimum de modules, car naxsi pouvait nécessiter beaucoup de ressources.
Soi-disant, selon l'un des responsables Debian de NGINX qui se coordonne régulièrement avec Upstream NGINX dans une conversation privée pour laquelle je ne peux pas publier de journaux, NGINX 2.x bénéficiera d'un support de module chargeable. Dans ce cas, light
, full
et extras
deviendra métapaquets qui font appel à des emballages individuels contenant chaque module. La date à laquelle cela devient le cas n'est pas connue, cependant, ni quels modules seront réellement capables de le faire.
Dans sa version actuelle, le nginx
paquet virtuel est conçu pour installer l'une des versions disponibles. Par défaut, comme nginx-core
dans le principal et nous aimerions que les utilisateurs l'utilisent davantage, nginx-core
est le premier élément vu et essayé-tenté dans le paquet virtuel. (Cependant, le nginx
paquet peut s’appuyer sur l’une des saveurs de nginx
, et est principalement là pour faciliter l’installation un peu plus facile pour ceux qui n’ont pas besoin de préférence de saveur spécifique)
Une ventilation détaillée avec les modules spécifiques disponibles dans chaque variante (basée sur le fichier Vividdebian/control
et le fichier Trustydebian/control
(les packages Naxsi ayant été supprimés dans Vivid)) est disponible ci-dessous. Notez que cela ne reflète pas les modifications les plus récentes dans Ubuntu, et vous devez vous reporter à la description de ces packages pour vous assurer que vous disposez des informations les plus récentes et les plus précises :
nginx-core
est la seule variante dans la section principale des référentiels Ubuntu, à compter de 14.04, et n'existe que dans les référentiels Ubuntu (et ne figure pas dans les PPA ni dans Debian, et ne sera jamais incluse dans Debian). En nginx-full
réalité, il est identique à la version , mais ne contient aucun module tiers. Le raisonnement derrière l'utilisationnginx-full
En tant que base de cette variante, nous voulions fournir un ensemble relativement complet de modules de base dans les fichiers binaires construits, tout en excluant les modules tiers. En tant que tel, il ne contient aucun des modules tiers, car l'équipe de sécurité a examiné le code et a constaté que les modules tiers avaient des styles de codage très variés qui ne sont pas aussi bien pris en charge que nginx-tarball-included. modules (ceci est discuté plus en profondeur dans le bogue Principal Inclusion Request / Report , qui contient les points de discussion et des discussions plus approfondies sur ce qui pourrait être inclus dans Ubuntu Main pour nginx
). Une liste complète des modules activés ici se trouve dans la description du paquet, que j'ai déjà choisie ici:
MODULES HTTP STANDARD: Cœur, Accès, Autorisation de base, Index automatique, Navigateur, Jeu de caractères, GIF vide, FastCGI, Géo, Gzip, En-têtes, Index, Demandes de limite, Zone limite, Journal, Carte, Mémoire, Proxy, Référent, Réécriture, Réécriture, SCGI , Clients scindés, SSI, Amont, ID utilisateur, UWSGI.
MODULES HTTP FACULTATIFS: Ajout, Débogage, GeoIP, Précompression Gzip, Sous HTTP, Filtre d'image, IPv6, IP réelle, Spdy, SSL, Statut de stub, Substitution, WebDAV, XSLT.
MODULES DE COURRIER: Core Mail, IMAP, POP3, SMTP, SSL.
nginx-light
est la saveur la plus légère nginx
disponible. Il se trouve dans le référentiel Univers et vous devez l'activer pour l'utiliser. Il ne permet pas une grande quantité de modules disponibles dans -core
ou -full
. Il contient également des modules tiers. Les modules disponibles sont les suivants:
MODULES HTTP STANDARD: Cœur, Accès, Autorisation de base, Index automatique, Jeu de caractères, GIF vide, FastCGI, Gzip, En-têtes, Index, Journal, Carte, Proxy, Réécriture, En amont.
MODULES HTTP FACULTATIFS: Demande d'authentification, Débogage, Précompression Gzip, IPv6, IP réel, SSL, Statut de stub.
MODULES DE TIERCE PARTIE: Echo.
nginx-full
est l’un des types de nginx
paquet les plus riches en fonctionnalités . Comme son light
homologue, il se trouve dans le référentiel Univers. Il active la plupart des modules de base inclus qui sont standard et optionnels dans l'archive source de from-nginx, ainsi que plusieurs autres modules tiers conçus pour étendre les capacités du serveur Web nginx. Ses modules sont les suivants:
MODULES HTTP STANDARD: Cœur, Accès, Autorisation de base, Index automatique, Navigateur, Jeu de caractères, GIF vide, FastCGI, Géo, Gzip, En-têtes, Index, Demandes de limite, Zone limite, Journal, Carte, Mémoire, Proxy, Référent, Réécriture, Réécriture, SCGI , Clients scindés, SSI, Amont, ID utilisateur, UWSGI.
MODULES HTTP FACULTATIFS: Ajout, Demande d'authentification, Débogage, GeoIP, Précompression Gzip, Sous HTTP, Filtre d'image, IPv6, IP réelle, Spdy, SSL, Statut de remplacement, WebDAV, XSLT.
MODULES DE COURRIER: Core Mail, IMAP, POP3, SMTP, SSL.
MODULES DE TIERCE PARTIE: Auth PAM, Ext Ext DAV, Echo, Filtre de substitution HTTP, File d'attente amont amont.
nginx-extras
est la saveur la plus riche en fonctionnalités du nginx
package. Et comme son full
et ses light
frères, il est aussi dans le référentiel Univers. Il active tous les modules nginx-full
mais inclut également des modules supplémentaires (tels que le module Perl) et de nombreux autres modules tiers conçus pour étendre encore les capacités du serveur Web nginx. Sa liste complète de modules est ci-dessous:
MODULES HTTP STANDARD: Cœur, Accès, Autorisation de base, Index automatique, Navigateur, Jeu de caractères, GIF vide, FastCGI, Géo, Gzip, En-têtes, Index, Demandes de limite, Zone limite, Journal, Carte, Mémoire, Proxy, Référent, Réécriture, Réécriture, SCGI , Clients scindés, SSI, Amont, ID utilisateur, UWSGI.
MODULES HTTP FACULTATIFS: Ajout, Demande d’authentification, Débogage, Perl intégré, FLV, GeoIP, Précompression Gzip, Filtre d’image, IPv6, MP4, Index aléatoire, IP réelle, Lien sécurisé, Spdy, SSL, Statut de Stub, Substitution, WebDAV, XSLT.
MODULES DE COURRIER: Core Mail, IMAP, POP3, SMTP, SSL.
MODULES DE TIERCE PARTIE: Auth PAM, Chunkin, DAV Ext, Écho, Lua intégré, Index de fantaisie, HttpHeadersMore, Filtre de substitution HTTP, Push http, Kit de développement Nginx, Progression de la mise en ligne, File d'attente en amont.
nginx-naxsi
est la variante de nginx pour laquelle le module Naxsi Web Application Firewall est disponible. C'est aussi dans Universe, cependant cette version n'est plus supportée par les responsables de Debian et sera complètement abandonnée d'Ubuntu à partir de la version 15.04. En plus du module Naxsi WAF, il comprend également un ensemble de modules beaucoup plus léger que nginx-full
. La liste complète des modules est ci-dessous:
MODULES HTTP STANDARD: Cœur, Accès, Autorisation de base, Index automatique, Navigateur, Jeu de caractères, Cœur, GIF vide, FastCGI, Géo, Gzip, En-têtes, Index, Demandes de limite, Zone limite, Journal, Carte, Mémoire, Proxy, Référent, Réécriture , Split Clients, SSI, Upstream, ID utilisateur.
MODULES HTTP FACULTATIFS: Débogage, IPv6, IP réelle, SSL, État du stub.
MODULES TIERS: Naxsi, Cache Purge, Foire Amont.
Utilisation des ressources parmi les saveurs
Bien que je ne sache pas que des tests de performance aient été exécutés sur les différentes versions de nginx
, il est généralement logique de supposer que plus nginx
vous utilisez la version de vos fonctionnalités, plus elle utiliserait de ressources.
Cependant, contrairement à Apache, qui peut ressembler à une pute de mémoire avec plus de modules activés, nginx
ne consomme toujours pas autant de mémoire par rapport à Apache lorsque les modules sont activés. (L'exception à cette déclaration est la naxsi
saveur. Cette saveur consomme toujours beaucoup plus de ressources, car il s'agit d'un pare-feu d'applications Web ainsi que d'un serveur Web.)
J'ajouterai des points de repère à cette réponse si je les trouve, mais encore une fois, je ne suis au courant d'aucun point de repère existant pour les différentes saveurs les unes par rapport aux autres. Et même si les sites que je ne pas courir le trafic lourd, je ne l' ai pas remarqué une diminution réelle de la performance entre nginx-extras
, nginx-full
ou nginx-light
sur un site en PHP.