Si bien la respuesta de Steven toca los puntos clave y un resumen muy básico de lo que es cada sabor, le daré una descripción mucho más amplia de las diferencias, ya que trabajo bastante en el empaque y los conjuntos de módulos muy diferentes en cada uno es absolutamente crítico para una buena respuesta. Las descripciones básicas no le hacen mucha justicia a la comparación. (Además, felicitaciones a Steven citando mi blog anterior (e incluso refiriéndome a mí como 'mantenedor'. Tenía la intención de portar la publicación nginx-is-coming-to-main a mi blog más reciente, pero no he tenido la oportunidad .)
También tenga en cuenta que los paquetes más recientes para el servidor web NGINX están disponibles en los PPA NGINX, mantenidos por mí, basados casi por completo en Debian. ( PPA estable (1.6.2 a partir de esta publicación); PPA principal (1.7.7 a partir de esta publicación, con 1.7.8 programado para aterrizar el 4 de diciembre de 2014))
Los diferentes sabores de nginx
:
Los diferentes tipos son de la misma versión nginx
, sin embargo, los encargados de los paquetes de Debian decidieron los tipos para proporcionar diferentes conjuntos de características (para nginx-extras
), así como el conjunto mínimo y completo de funciones "completas" más efectivas que los servidores web tienden a haberse usado en sitios web. No conozco la razón exacta por la que se eligió una característica sobre otra, sin embargo, en una discusión complementaria con uno de los mantenedores de Debian en IRC, se hizo una declaración afirmando mi evaluación inicial, que cada variante tenía la intención de ser un conjunto diferente de características para un caso de uso diferente: light
para un conjunto liviano de características que cumple con el mínimo de alojamiento de sitios, full
para un conjunto más completo de características sin incluir extras mucho más pesados, yextras
para casi todo lo que está en el paquete que se puede incluir en Ubuntu. naxsi
, antes de 15.04, era la variante de Naxsi específicamente con solo el mínimo de módulos, ya que naxsi podría ser bastante intensivo en recursos.
Supuestamente, según uno de los mantenedores de Debian de NGINX que coordina regularmente con Upstream NGINX en una conversación privada de la que actualmente no puedo publicar registros, NGINX 2.x tendrá soporte de módulo cargable. En cuyo caso, light
, full
, y extras
se convertirá en metapaquetes que piden a los envases individuales conteniendo cada módulo. Sin embargo, se desconoce la fecha en que esto se convierte en el caso, ni tampoco qué módulos serán capaces de hacerlo.
Tal como está actualmente, el nginx
paquete virtual está diseñado para instalar una de las versiones disponibles. Por defecto, como nginx-core
está en main y nos encantaría que las personas lo usaran más, nginx-core
es el primer elemento visto e intentado de instalación en el paquete virtual. (Sin embargo, el nginx
paquete puede confiar en cualquiera de los sabores de nginx
, y está principalmente allí para facilitar un poco la instalación para aquellos que no necesitan ninguna preferencia de sabor específica)
Un desglose detallado con los módulos específicos disponibles en cada variante (basado en el archivo Vividdebian/control
y el archivo Trustydebian/control
(ya que los paquetes Naxsi se han eliminado en Vivid)) está disponible a continuación. Tenga en cuenta que esto no refleja los cambios más actualizados en Ubuntu, y debe consultar las descripciones de los paquetes para asegurarse de tener información actualizada y precisa :
nginx-core
es el único sabor en la sección Principal de los repositorios de Ubuntu, a partir del 14.04, y existe solo en los repositorios de Ubuntu (y no está en los PPA o Debian, y nunca se incluirá en Debian). Es efectivamente idéntico al nginx-full
sabor, pero no contiene ningún módulo de terceros. El razonamiento detrás del usonginx-full
ya que la base de esta variante era que queríamos proporcionar un conjunto relativamente completo de módulos principales en los binarios integrados, al tiempo que manteníamos los módulos de terceros al mismo tiempo. Como tal, no contiene ninguno de los módulos de terceros, ya que el Equipo de Seguridad hizo una revisión del código y descubrió que los módulos de terceros tienen estilos de codificación muy diferentes que no son tan compatibles como el nginx-tarball-included módulos (esto se discute más en profundidad en el error de Solicitud / Informe de inclusión principal , que contiene los puntos de discusión y más discusiones de revisión sobre qué podría incluirse en Ubuntu Main para nginx
). Una lista completa de los módulos habilitados aquí está en la descripción del paquete, que he seleccionado aquí:
MÓDULOS HTTP ESTÁNDAR: 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 , Clientes divididos, SSI, Upstream, ID de usuario, UWSGI.
MÓDULOS HTTP OPCIONALES: Adición, Depuración, GeoIP, Precompresión Gzip, Sub HTTP, Filtro de imagen, IPv6, Real IP, Spdy, SSL, Stub Status, Sustitución, WebDAV, XSLT.
MÓDULOS DE CORREO: Mail Core, IMAP, POP3, SMTP, SSL.
nginx-light
Es el sabor más ligero nginx
disponible. Está en el repositorio de Universe y debes tener eso habilitado para usarlo. No habilita una gran cantidad de módulos disponibles en -core
o -full
. También contiene módulos de terceros. Los módulos disponibles en él son los siguientes:
MÓDULOS HTTP ESTÁNDAR: Core, Access, Auth Basic, Auto Index, Charset, Empty GIF, FastCGI, Gzip, Headers, Index, Log, Map, Proxy, Rewrite, Upstream.
MÓDULOS HTTP OPCIONALES: Solicitud de autenticación, Depuración, Precompresión Gzip, IPv6, Real Ip, SSL, Estado del código auxiliar.
MÓDULOS DE TERCEROS: Eco.
nginx-full
es uno de los sabores más ricos en funciones del nginx
paquete. Al igual que su light
contraparte, está en el repositorio del Universo. Habilita la mayoría de los módulos centrales incluidos que son estándar y opcionales en el tarball fuente from-nginx, así como varios módulos de terceros más diseñados para ampliar las capacidades del servidor web nginx. Sus módulos son los siguientes:
MÓDULOS HTTP ESTÁNDAR: 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 , Clientes divididos, SSI, Upstream, ID de usuario, UWSGI.
MÓDULOS HTTP OPCIONALES: Adición, Solicitud de autenticación, Depuración, GeoIP, Precompresión Gzip, Sub HTTP, Filtro de imagen, IPv6, Real IP, Spdy, SSL, Estado del stub, Sustitución, WebDAV, XSLT.
MÓDULOS DE CORREO: Mail Core, IMAP, POP3, SMTP, SSL.
MÓDULOS DE TERCEROS: Auth PAM, DAV Ext, Echo, Filtro de sustitución HTTP, Upstream Fair Queue.
nginx-extras
es el sabor más rico en funciones del nginx
paquete. Y al igual que its full
and light
brothers, también está en el repositorio del Universo. Activa todos los módulos nginx-full
pero también incluye módulos adicionales (como el módulo Perl) y muchos más módulos de terceros diseñados para ampliar aún más las capacidades del servidor web nginx. Su lista completa de módulos está a continuación:
MÓDULOS HTTP ESTÁNDAR: 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 , Clientes divididos, SSI, Upstream, ID de usuario, UWSGI.
MÓDULOS HTTP OPCIONALES: Adición, Solicitud de autenticación, Depuración, Perl integrado, FLV, GeoIP, Precompresión Gzip, Filtro de imagen, IPv6, MP4, Índice aleatorio, IP real, Enlace seguro, Spdy, SSL, Estado del stub, Sustitución, WebDAV, XSLT.
MÓDULOS DE CORREO: Mail Core, IMAP, POP3, SMTP, SSL.
MÓDULOS DE TERCEROS: 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
es la variante de nginx que tiene disponible el módulo Naxsi Web Application Firewall. También está en Universe, sin embargo, este sabor ya no es compatible con los mantenedores de Debian, y se eliminará por completo de Ubuntu con la versión 15.04. Además del módulo Naxsi WAF, también incluye un conjunto de módulos mucho más ligero que nginx-full
. La lista completa de módulos está a continuación:
MÓDULOS HTTP ESTÁNDAR: 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 , Clientes divididos, SSI, Upstream, ID de usuario.
MÓDULOS HTTP OPCIONALES: Depuración, IPv6, Real IP, SSL, Estado del código auxiliar.
MÓDULOS DE TERCEROS: Naxsi, Cache Purge, Upstream Fair.
Uso de recursos entre los sabores
Si bien no conozco ningún punto de referencia que se haya ejecutado en los distintos tipos nginx
, normalmente es lógico suponer que cuanto más habilitada nginx
esté la versión de usted, más recursos utilizará.
Sin embargo, a diferencia de Apache, que puede ser una especie de puta de memoria con más módulos habilitados, nginx
todavía no consume tanta memoria en comparación con Apache cuando los módulos están habilitados. (La excepción a esta declaración es el naxsi
sabor. Ese sabor siempre consume muchos más recursos, ya que es un firewall de aplicaciones web y un servidor web).
Agregaré puntos de referencia a esta respuesta si los encuentro, pero nuevamente, no conozco ningún punto de referencia existente para los diversos sabores entre sí. Y a pesar de que los sitios que ejecutan no tienen mucho tráfico, no he notado ninguna disminución del rendimiento real entre nginx-extras
, nginx-full
o nginx-light
en un sitio PHP impulsada.