nginxen Ubuntu es un paquete virtual proporcionado por uno de los cinco paquetes de los repositorios oficiales (al menos a partir del 14.04, por defecto nginx-core, creo):
$ apt-cache depends nginx | tail -n+2 | cut -d: -f 2 | sort -u
nginx-core
nginx-extras
nginx-full
nginx-light
nginx-naxsi
¿Cuál es la diferencia entre estos paquetes y cuáles son los casos de uso recomendados para ellos?
Esta un poco viejo página Wiki de Debian tiene una comparación de características entre extras, full, lighty naxsi, aunque no se hace mención de core. ¿Cuánto ha cambiado en 14.04?
secundario
Según tengo entendido, nginxno admite la activación en tiempo de ejecución de módulos como lo hace Apache, por lo que la instalación nginx-extrasafectaría el rendimiento.

Respuestas:
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 (paranginx-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:lightpara un conjunto liviano de características que cumple con el mínimo de alojamiento de sitios,fullpara un conjunto más completo de características sin incluir extras mucho más pesados, yextraspara 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, yextrasse 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
nginxpaquete virtual está diseñado para instalar una de las versiones disponibles. Por defecto, comonginx-coreestá en main y nos encantaría que las personas lo usaran más,nginx-corees el primer elemento visto e intentado de instalación en el paquete virtual. (Sin embargo, elnginxpaquete puede confiar en cualquiera de los sabores denginx, 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 Vivid
debian/controly 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-corees 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 alnginx-fullsabor, pero no contiene ningún módulo de terceros. El razonamiento detrás del usonginx-fullya 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 paranginx). Una lista completa de los módulos habilitados aquí está en la descripción del paquete, que he seleccionado aquí:nginx-lightEs el sabor más ligeronginxdisponible. Está en el repositorio de Universe y debes tener eso habilitado para usarlo. No habilita una gran cantidad de módulos disponibles en-coreo-full. También contiene módulos de terceros. Los módulos disponibles en él son los siguientes:nginx-fulles uno de los sabores más ricos en funciones delnginxpaquete. Al igual que sulightcontraparte, 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:nginx-extrases el sabor más rico en funciones delnginxpaquete. Y al igual que itsfullandlightbrothers, también está en el repositorio del Universo. Activa todos los módulosnginx-fullpero 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:nginx-naxsies 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 quenginx-full. La lista completa de módulos está a continuación: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 habilitadanginxesté 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,
nginxtodaví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 elnaxsisabor. 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-fullonginx-lighten un sitio PHP impulsada.fuente
error.logdespués de instalarnginx-extra:[info] 19936#0: Using 32768KiB of shared memory for push module in /etc/nginx/nginx.conf. Es compartido y no RSS, pero aún así me hizo preguntarme. De ahí las dudas de rendimiento, pero eso es secundario.pushmódulo es conocido por usar una buena cantidad de memoria compartida. Que yo sepa (y puedo estar un poco equivocado en esto), esa memoria compartida se usa en todos los sitios del servidor web donde se podría usar el módulo de inserción. Sin embargo, ese módulo es un módulo de terceros, por lo que cualquier problema real con él debe dirigirse a sus mantenedores :)backports? Y dado que presumiblemente están construidos a partir de la misma fuente, un parche aplicado por el equipo de Seguridadnginx-coretambién estaría disponible-fully-extra, ¿no?nginx-core, así como a los otros saboresnginxdisponibles en ese repositorio, ya que todos se basan en la misma base de código. Solo tienen diferentes./configurelíneas para habilitar o deshabilitar diferentes módulos.Aquí hay una evaluación de muy alto nivel, basada principalmente en las descripciones de los paquetes . (Voy a estar a la altura de entregar ejemplos de casos de uso para cada uno, pero descubrí esto para satisfacer mi curiosidad, así que también podría contribuir).
De menor a mayor:
nginx-light: "versión básica"
El conjunto mínimo de módulos para la funcionalidad básica.
nginx-naxsi: "versión con naxsi"
El conjunto mínimo, más la configuración reforzada "Nginx Anti Xss & Sql Injection" y sus complementos necesarios.
nginx-core: "versión central"
La implementación estándar de nginx, menos los módulos de terceros.
Este es el primer paquete nginx compatible con Canonical. Está en el repositorio "principal" de Ubuntu en lugar del repositorio "universo" compatible con la comunidad. Vea el anuncio "¡nginx-core ahora está en Ubuntu Trusty 14.04 Main!" en un archivo del blog no oficial del mantenedor (antiguo y ahora difunto) o en la copia de la publicación anterior en el blog no oficial del mantenedor :
nginx-full: "versión estándar"
La implementación estándar de nginx, incluidos los módulos de terceros de uso frecuente.
nginx-extras: "versión extendida"
La implementación estándar de nginx más varios módulos poco utilizados y de gran tamaño.
fuente
nginxno admite módulos habilitadores como lo hace Apache, por lo que la instalaciónnginx-extraspodría afectar el rendimiento.