Enquanto a resposta de Steven aborda os pontos-chave e um resumo muito básico do que cada sabor é, eu vou te dar uma descrição muito maior das diferenças, como eu trabalho na embalagem um pouco, e os conjuntos muito diferentes de módulos em cada é absolutamente crítico para uma boa resposta. As descrições básicas não fazem muita justiça à comparação. (Além disso, parabéns ao Steven citando meu blog mais antigo (e até me referindo a mim como um 'mantenedor'). Eu pretendia levar a postagem nginx-coming-to-main para o meu blog mais novo, mas não tive a oportunidade .)
Observe também que os pacotes mais recentes para o servidor web NGINX estão disponíveis nos PPAs NGINX, mantidos por mim, baseados quase inteiramente fora do Debian. ( PPA estável (1.6.2 a partir deste post); MPA PPA (1.7.7 a partir deste post, com 1.7.8 previsto para o 4 de dezembro de 2014))
Os diferentes sabores de nginx
:
Os diferentes sabores são todos da mesma versão de nginx
, no entanto, os sabores foram decididos pelos mantenedores do pacote Debian para fornecer conjuntos de recursos diferentes (para nginx-extras
), bem como o mínimo e o maior recurso - Conjunto de funções "completo" e efetivo que os servidores da Web tendem a usar em sites. A razão exata pela qual um recurso foi escolhido em detrimento de outro não é conhecido para mim, entretanto em uma discussão suplementar com um dos mantenedores do Debian no IRC, uma afirmação foi feita afirmando minha avaliação inicial, que cada variante deveria ser um conjunto diferente de recursos para um caso de uso diferente - light
para um conjunto leve de recursos que atende ao mínimo de hospedagem de sites, full
para um conjunto mais completo de recursos sem incluir extras muito mais pesados e extras
para praticamente tudo que é no pacote que pode ser incluído no Ubuntu. naxsi
, antes de 15.04, era a variante Naxsi especificamente com apenas o mínimo de módulos, já que o naxsi poderia ser bastante intensivo em recursos.
Supostamente, de acordo com um dos mantenedores Debian do NGINX que está regularmente coordenando com o Upstream NGINX em uma conversa privada da qual eu não posso atualmente postar logs, o NGINX 2.x terá suporte a módulos carregáveis. Nesse caso, light
, full
e extras
se tornarão meta-pacotes que invocam os pacotes individuais que contêm cada módulo. A data em que isso se torna o caso não é conhecida, no entanto, nem quais módulos realmente serão capazes de fazer isso.
Como está atualmente, o pacote nginx
virtual foi projetado para instalar apenas uma das versões disponíveis. Por padrão, como nginx-core
está na main e nós adoraríamos se os indivíduos o usassem mais, nginx-core
é o primeiro item visto e tentado por instalação no pacote virtual. (No entanto, o pacote nginx
pode confiar em qualquer um dos sabores de nginx
e está principalmente lá para tornar a instalação um pouco mais fácil para aqueles que não precisam de nenhuma preferência específica de sabor)
Uma análise detalhada com os módulos específicos disponíveis em cada variante (com base no Arquivo vivid debian/control
e o Trusty debian/control
file (como os pacotes Naxsi foram removidos no Vivid)) está disponível abaixo. Observe que isso não reflete as alterações mais atualizadas do Ubuntu, e você deve consultar essas descrições de pacote para ter certeza de que você atualizou as informações precisas :
-
nginx-core
é o único sabor na seção Principal dos Repositórios do Ubuntu, a partir de 14.04, e existe somente nos repositórios do Ubuntu (e não está no PPAs ou Debian, e não será incluído no Debian nunca). Ele é efetivamente idêntico ao sabornginx-full
, mas não contém módulos de terceiros. O raciocínio por trás do uso denginx-full
como base para essa variante era que queríamos fornecer um conjunto relativamente completo de módulos principais nos binários criados, enquanto mantínhamos os módulos de terceiros ao mesmo tempo. Como tal, ele não contém nenhum dos módulos de terceiros, já que a equipe de segurança fez uma revisão do código e descobriu que os módulos de terceiros têm estilos de codificação amplamente variáveis que não são tão bem suportados quanto o targin-nginx incluído módulos (isso é discutido com mais profundidade no Principal Pedido de Inclusão / Relatar erro , que contém os pontos de discussão e analisa as discussões sobre o que poderia ser incluído no Ubuntu Main paranginx
).Uma lista completa dos módulos habilitados aqui está na descrição do pacote, que eu determinei aqui:MÓDULOS HTTP PADRÃO: Núcleo, Acesso, Autenticação Básica, Índice Automático, Navegador, Charset, GIF Vazio, FastCGI, Geo, Gzip, Cabeçalhos, Índice, Solicitações de Limite, Limite de Zona, Log, Mapa, Memcached, Proxy, Referer, Rewrite, SCGI, Clientes Divididos, SSI, Upstream, ID do Usuário, UWSGI.
MÓDULOS HTTP OPCIONAIS: Adição, Depuração, GeoIP, Reprecompressão do Gzip, HTTP Sub, Filtro de Imagem, IPv6, IP Real, Spdy, SSL, Status de Stub, Substituição, WebDAV, XSLT.
MÓDULOS DE CORREIO: Mail Core, IMAP, POP3, SMTP, SSL.
-
nginx-light
é o sabor mais leve denginx
disponível. Está no repositório Universe e você tem que ter isso habilitado para usá-lo. Ele não habilita uma grande quantidade dos módulos disponíveis em-core
ou-full
. Também contém módulos de terceiros. Os módulos disponíveis são os seguintes:MÓDULOS HTTP PADRÃO: Núcleo, Acesso, Autenticação Básica, Índice Automático, Charset, GIF Vazio, FastCGI, Gzip, Cabeçalhos, Índice, Log, Mapa, Proxy, Reescrever, Upstream.
MÓDULOS HTTP OPCIONAIS: solicitação de autenticação, depuração, recompra do Gzip, IPv6, real Ip, SSL, Stub Status.
MÓDULOS DE TERCEIROS: Eco.
-
nginx-full
é um dos sabores mais ricos em recursos do pacotenginx
. Como sua contrapartelight
, ela está no repositório Universe. Ele habilita a maioria dos principais módulos incluídos que são padrão e opcionais no tarball de origem do nginx, bem como vários outros módulos de terceiros projetados para estender os recursos do servidor da Web nginx. Seus módulos são os seguintes:MÓDULOS HTTP PADRÃO: Núcleo, Acesso, Autenticação Básica, Índice Automático, Navegador, Charset, GIF Vazio, FastCGI, Geo, Gzip, Cabeçalhos, Índice, Solicitações de Limite, Limite de Zona, Log, Mapa, Memcached, Proxy, Referer, Rewrite, SCGI, Clientes Divididos, SSI, Upstream, ID do Usuário, UWSGI.
MÓDULOS HTTP OPCIONAIS: adição, solicitação de autenticação, depuração, geoip, gzip Pré-compressão, HTTP Sub, Filtro de Imagem, IPv6, IP Real, Spdy, SSL, Stub Status, Substituição, WebDAV, XSLT.
MÓDULOS DE CORREIO: Mail Core, IMAP, POP3, SMTP, SSL.
MÓDULOS DE TERCEIROS: Auth PAM, DAV Ext, Eco, Filtro de Substituição de HTTP, Fila justa a montante.
-
nginx-extras
é o sabor mais rico em recursos do pacotenginx
. E como seusfull
elight
brothers, ele também está no repositório Universe. Ele habilita todos os módulos emnginx-full
, mas também inclui módulos adicionais (como o módulo Perl) e muitos outros módulos de terceiros projetados para estender ainda mais os recursos do servidor da Web nginx. Sua lista completa de módulos está abaixo:MÓDULOS HTTP PADRÃO: Núcleo, Acesso, Autenticação Básica, Índice Automático, Navegador, Charset, GIF Vazio, FastCGI, Geo, Gzip, Cabeçalhos, Índice, Solicitações de Limite, Limite de Zona, Log, Mapa, Memcached, Proxy, Referer, Rewrite, SCGI, Clientes Divididos, SSI, Upstream, ID do Usuário, UWSGI.
MÓDULOS HTTP OPCIONAIS: adição, solicitação de autenticação, depuração, Perl incorporado, FLV, GeoIP, recompressão Gzip, filtro de imagem, IPv6, MP4, índice aleatório, IP real, Link Seguro, Spdy, SSL, Status do Stub, Substituição, WebDAV, XSLT.
MÓDULOS DE CORREIO: Mail Core, IMAP, POP3, SMTP, SSL.
MÓDULOS DE TERCEIROS: Auth PAM, Chunkin, Ext DAV, Eco, Embedded Lua, Índice de fantasia, HttpHeadersMore, Filtro de substituição de HTTP, http push, Kit de desenvolvimento do Nginx, progresso de upload, fila justa upstream.
-
nginx-naxsi
é a variante do nginx que possui o módulo Naxsi Web Application Firewall disponível. Ele também está no Universe, no entanto esse sabor não é mais suportado pelos mantenedores Debian, e será completamente abandonado do Ubuntu com o lançamento 15.04. Além do módulo WAF Naxsi, ele também inclui um muito mais leve conjunto de módulos quenginx-full
. A lista completa de módulos está abaixo:MÓDULOS HTTP PADRÃO: Núcleo, Acesso, Autenticação Básica, Índice Automático, Navegador, Charset, Core, GIF Vazio, FastCGI, Geo, Gzip, Cabeçalhos, Index, Limite de Pedidos, Limite de Zona, Log, Mapa, Memcached, Proxy, Referer, Reescreva, Dividir Clientes, SSI, Upstream, ID do Usuário.
MÓDULOS HTTP OPCIONAIS: depuração, IPv6, IP real, SSL, status de stub.
MÓDULOS DE TERCEIROS: Naxsi, Cache Purge, Upstream Fair.
Uso de recursos entre os sabores
Embora não tenha conhecimento de quaisquer comparativos de mercado que tenham sido executados nos vários tipos de nginx
, normalmente é lógico supor que quanto mais recursos forem habilitados, a versão de nginx
que você usar usará usar.
No entanto, ao contrário do Apache, que pode ser uma espécie de prostituta de memória com mais módulos ativados, nginx
ainda não consome tanta memória comparado ao Apache quando os módulos são ativados. (A exceção a essa declaração é o naxsi
flavor.Esse sabor sempre consome muito mais recursos, pois é um Web Application Firewall e um servidor da Web.
Vou adicionar referências a esta resposta se as encontrar, mas, novamente, não tenho conhecimento de quaisquer referências existentes para os vários tipos entre si. E mesmo que os sites que eu executo não tenham tráfego pesado, eu não notei nenhuma diminuição real de desempenho entre nginx-extras
, nginx-full
ou nginx-light
em um site controlado por PHP.