86 votes

Quelle est la différence entre les paquets core, full, extras et light pour nginx ?

nginx sur Ubuntu est un paquet virtuel fourni par l'un des cinq paquets des dépôts officiels (au moins à partir de 14.04, avec par défaut nginx-core je crois) :

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

Quelle est la différence entre ces paquets et quels sont les cas d'utilisation recommandés pour eux ?

Cet ouvrage quelque peu ancien Page du wiki Debian a une comparaison de caractéristiques entre extras , full , light y naxsi mais aucune mention n'est faite de core . Dans quelle mesure cela a-t-il changé dans la version 14.04 ?


secondaire Comme je le comprends, nginx ne supporte pas l'activation des modules au moment de l'exécution comme le fait Apache. nginx-extras impact sur les performances ?

116voto

Joe the Person Points 5090

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.

16voto

Steven K Points 4326

Voici une évaluation de très haut niveau, basée principalement sur les éléments suivants les descriptions dans les paquets . (Je ne parviendrai pas à fournir des exemples de cas d'utilisation pour chacun d'entre eux, mais j'ai trouvé tout cela pour satisfaire ma curiosité, alors autant le faire savoir).

Du plus petit au plus grand :

nginx-light : " version de base ".

L'ensemble minimal de modules pour une fonctionnalité de base.

nginx-naxsi : "version avec naxsi".

L'ensemble minimal, plus la configuration renforcée "Nginx Anti Xss & Sql Injection" et ses plugins requis.

nginx-core : "version principale".

Le déploiement standard de nginx, sans les modules tiers.

C'est le premier paquet nginx supporté par Canonical. Il se trouve dans le dépôt "main" d'Ubuntu au lieu du dépôt "universe" soutenu par la communauté. Voir l'annonce "nginx-core est maintenant dans Ubuntu Trusty 14.04 Main !" sur une archive du blog non officiel du mainteneur (ancien et maintenant défunt) ou sur le copie de l'ancien article sur le blog non officiel du mainteneur :

aucune des saveurs déjà établies de nginx n'est incluse dans Ubuntu Main (nginx-light, nginx-full, nginx-extras et nginx-naxsi). L'équipe de sécurité d'Ubuntu a déclaré que les modules tiers ont un codage très différent et ne peuvent donc pas être pris en charge.

À cette fin, nous avons créé un paquet appelé nginx-core qui a été inclus dans le dépôt Main. Ce paquet ne contient que les modules qui sont livrés avec le paquet de base de nginx. Nous n'incluons pas de modules tiers avec ce paquet, seulement les modules qui viennent de NGINX en amont.

nginx-full : "version standard"

Le déploiement standard de nginx, y compris les modules tiers fréquemment utilisés.

nginx-extras : "version étendue"

Le déploiement standard de nginx plus plusieurs modules peu utilisés et volumineux.

13voto

jamesdlin Points 233

J'ai fait quelques tableaux basés sur les descriptions de https://salsa.debian.org/nginx-team/nginx/-/blob/master/debian/control (qui, à l'heure où nous écrivons ces lignes, a été mis à jour pour la dernière fois le 30 juin 2020). Étant donné que les tableaux et les descriptions sur lesquels ils sont basés sont générés à la main, il peut y avoir des erreurs.

Modules standard

nginx-core

nginx-full

nginx-light

nginx-extras

Core

Accès

Auth Basic

Indice Auto

Navigateur

GIF vide

FastCGI

Géo

Connexions de limite

Demandes de limites

Carte

Memcached

Proxy

Référent

Réécriture

SCGI

Split Clients

UWSGI

Modules optionnels

nginx-core

nginx-full

nginx-light

nginx-extras

Addition

Demande d'authentification

Jeu de caractères

WebDAV

FLV

GeoIP

Gunzip

Gzip

Précompression Gzip

En-têtes

HTTP/2

Filtre à images

Index

Journal de bord

MP4

Perl embarqué

Index aléatoire

IP réel

Tranche

Lien sécurisé

SSI

SSL

Prélecture SSL

Statut de talon

Substitution

Pool Thread

En amont

ID utilisateur

XSLT

Modules de courrier

nginx-core

nginx-full

nginx-light

nginx-extras

Noyau de courrier

Auth HTTP

Proxy

SSL

IMAP

POP3

SMTP

Stream

nginx-core

nginx-full

nginx-light

nginx-extras

Core Stream

GeoIP

GeoIP2

Modules tiers

nginx-core

nginx-full

nginx-light

nginx-extras

Auth PAM

Purge du cache

DAV Ext

Echo

Indice de fantaisie

GeoIP2

En-têtes Plus

Lua embarqué

Substitutions HTTP

Nchan

Télécharger la progression

File d'attente équitable en amont

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X