Mentre la risposta di Steven tocca i punti chiave e un riassunto molto basilare di ciò che ogni sapore è, ti darò una descrizione molto più ampia delle differenze, mentre lavoro un po 'sulla confezione e i diversi set di moduli in ognuno è assolutamente fondamentale per una buona risposta. Le descrizioni di base non rendono molto giustizia al confronto. (Inoltre, complimenti a Steven che cita il mio blog più vecchio (e si riferisce persino a me come "manutentore". Volevo portare il post di nginx-sta-arrivando al mio blog più recente, ma non ne ho avuto l'opportunità .)
Si noti inoltre che gli ultimi pacchetti per il web server NGINX sono disponibili nei PPA NGINX, gestiti da me stesso, basati quasi interamente su Debian. ( PPA stabile (1.6.2 a partire da questo post); Mainline PPA (1.7.7 a partire da questo post, con 1.7.8 previsto a terra il 4 dicembre 2014))
I diversi sapori di nginx
:
I diversi sapori sono tutti la stessa versione di nginx
, tuttavia i sapori sono stati decisi dai manutentori del pacchetto Debian al fine di fornire diversi set di funzionalità (per nginx-extras
) così come il minimo indispensabile e il set completo di funzioni più efficaci che i server Web tendono ad essere utilizzati nei siti Web. Il motivo esatto per cui una funzione è stata scelta su un'altra non mi è noto, tuttavia in una discussione supplementare con uno dei manutentori Debian su IRC, è stata fatta una dichiarazione che afferma la mia valutazione iniziale, che ogni variante era intesa come un insieme diverso di funzionalità per un caso d'uso diverso - light
per un set leggero di funzionalità che soddisfa il minimo indispensabile di hosting del sito, full
per un set più completo di funzionalità senza includere extra molto più pesanti, eextras
per praticamente tutto ciò che è nel pacchetto che può essere incluso in Ubuntu. naxsi
, prima del 15.04, era la variante Naxsi specificatamente con solo il minimo indispensabile di moduli, poiché naxsi poteva essere abbastanza dispendioso in termini di risorse.
Presumibilmente, secondo uno dei manutentori Debian di NGINX che si sta coordinando regolarmente con NGINX a monte in una conversazione privata di cui al momento non posso pubblicare log, NGINX 2.x avrà un supporto caricabile per moduli. In tal caso, light
, full
, e extras
diventerà metapacchetti che sollecitano i singoli pacchetti contenenti ciascun modulo. La data in cui ciò accade, tuttavia, non è nota, né quali moduli saranno effettivamente in grado di farlo.
Allo stato attuale, il nginx
pacchetto virtuale è progettato per installare solo una delle versioni disponibili. Per impostazione predefinita, come nginx-core
è in linea di principio e ci piacerebbe che le persone lo usassero di più, nginx-core
è il primo elemento visto e tentato dall'installazione nel pacchetto virtuale. (Tuttavia, il nginx
pacchetto può fare affidamento su uno qualsiasi dei sapori di nginx
, ed è principalmente lì per rendere l'installazione un po 'più semplice per coloro che non hanno bisogno di alcuna preferenza di sapore specifica)
Di seguito è disponibile una ripartizione dettagliata con i moduli specifici disponibili in ciascuna variante (basata sul file Vividdebian/control
e sul file Trustydebian/control
(poiché i pacchetti Naxsi sono stati rimossi in Vivid)). Nota che questo non riflette le modifiche più aggiornate in Ubuntu e dovresti fare riferimento a quelle descrizioni dei pacchetti per assicurarti di avere informazioni aggiornate e accurate :
nginx-core
è l'unico sapore nella sezione principale dei repository Ubuntu, a partire dal 14.04, ed esiste solo nei repository Ubuntu (e non è nei PPA o Debian e non verrà mai incluso in Debian). È effettivamente identico al nginx-full
sapore, ma non contiene moduli di terze parti. Il ragionamento dietro l'utilizzonginx-full
poiché la base di questa variante era che volevamo fornire un set relativamente completo di moduli core nei binari incorporati, mantenendo allo stesso tempo i moduli di terze parti. In quanto tale, non contiene nessuno dei moduli di terze parti, poiché il team di sicurezza ha fatto una revisione del codice e ha scoperto che i moduli di terze parti hanno stili di codifica molto diversi che non sono ben supportati come il nginx-tarball-incluso moduli (questo è discusso in modo più approfondito nel bug Richiesta / report inclusione principale , che contiene i punti di discussione e rivede ulteriormente le discussioni su cosa potrebbe essere incluso in Ubuntu Main nginx
). Un elenco completo dei moduli abilitati qui è nella descrizione del pacchetto, che ho puntato qui:
MODULI HTTP STANDARD: Core, Access, Auth Basic, Auto Index, Browser, Charset, GIF vuota, FastCGI, Geo, Gzip, Headers, Index, Limit Requests, Limit Zone, Log, Map, Memcached, Proxy, Referer, Rewrite, SCGI , Split Client, SSI, Upstream, ID utente, UWSGI.
MODULI HTTP OPZIONALI: Aggiunta, Debug, GeoIP, Precompressione Gzip, Sottotitolo HTTP, Filtro immagine, IPv6, IP reale, Spdy, SSL, Stato stub, Sostituzione, WebDAV, XSLT.
MODULI MAIL: Mail Core, IMAP, POP3, SMTP, SSL.
nginx-light
è il sapore più leggero tra quelli nginx
disponibili. È nel repository Universe e devi averlo abilitato per usarlo. Non abilita una grande quantità di moduli disponibili in -core
o -full
. Contiene anche moduli di terze parti. I moduli disponibili sono i seguenti:
MODULI HTTP STANDARD: Core, Access, Auth Basic, Auto Index, Charset, Empty GIF, FastCGI, Gzip, Headers, Index, Log, Map, Proxy, Rewrite, Upstream.
MODULI HTTP OPZIONALI: richiesta di autenticazione, debug, precompressione Gzip, IPv6, IP reale, SSL, stato stub.
MODULI DI TERZI: Eco.
nginx-full
è uno degli aromi più ricchi di funzionalità del nginx
pacchetto. Come la sua light
controparte, è nel repository Universe. Abilita la maggior parte dei moduli inclusi standard che sono standard e opzionali nel tarball di origine from-nginx, così come molti altri moduli di terze parti progettati per estendere le capacità del server web nginx. I suoi moduli sono i seguenti:
MODULI HTTP STANDARD: Core, Access, Auth Basic, Auto Index, Browser, Charset, GIF vuota, FastCGI, Geo, Gzip, Headers, Index, Limit Requests, Limit Zone, Log, Map, Memcached, Proxy, Referer, Rewrite, SCGI , Split Client, SSI, Upstream, ID utente, UWSGI.
MODULI HTTP OPZIONALI: Aggiunta, Richiesta di autenticazione, Debug, GeoIP, Precompressione Gzip, Sottotitolo HTTP, Filtro immagine, IPv6, IP reale, Spdy, SSL, Stato stub, Sostituzione, WebDAV, XSLT.
MODULI MAIL: Mail Core, IMAP, POP3, SMTP, SSL.
MODULI DI TERZE PARTI: Auth PAM, DAV Ext, Echo, filtro di sostituzione HTTP, coda fiera a monte.
nginx-extras
è il sapore più ricco di funzionalità del nginx
pacchetto. E come i suoi full
e light
fratelli, che è anche nel repository Universe. Abilita tutti i moduli nginx-full
ma include anche moduli aggiuntivi (come il modulo Perl) e molti altri moduli di terze parti progettati per estendere ulteriormente le capacità del server Web nginx. L'elenco completo dei moduli è di seguito:
MODULI HTTP STANDARD: Core, Access, Auth Basic, Auto Index, Browser, Charset, GIF vuota, FastCGI, Geo, Gzip, Headers, Index, Limit Requests, Limit Zone, Log, Map, Memcached, Proxy, Referer, Rewrite, SCGI , Split Client, SSI, Upstream, ID utente, UWSGI.
MODULI HTTP OPZIONALI: Aggiunta, Richiesta di autenticazione, Debug, Perl incorporato, FLV, GeoIP, Precompressione Gzip, Filtro immagine, IPv6, MP4, Indice casuale, IP reale, Collegamento sicuro, Spdy, SSL, Stato stub, Sostituzione, WebDAV, XSLT.
MODULI MAIL: Mail Core, IMAP, POP3, SMTP, SSL.
MODULI DI TERZI: Auth PAM, Chunkin, DAV Ext, Echo, Embedded Lua, Fancy Index, HttpHeadersMore, Filtro di sostituzione HTTP, push http, Kit di sviluppo Nginx, Caricamento avanzamento, Coda fiera a monte.
nginx-naxsi
è la variante di nginx che ha il modulo Naxsi Web Application Firewall disponibile. Anch'esso è nell'universo, tuttavia questo sapore non è più supportato dai manutentori Debian e sarà completamente abbandonato da Ubuntu con la versione 15.04. Oltre al modulo Naxsi WAF, include anche un set di moduli molto più leggero di nginx-full
. L'elenco completo dei moduli è di seguito:
MODULI 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 Client, SSI, Upstream, ID utente.
MODULI HTTP OPZIONALI: Debug, IPv6, IP reale, SSL, Stub Status.
MODULI DI TERZI: Naxsi, Cache Purge, Upstream Fair.
Utilizzo delle risorse tra i sapori
Anche se non sono a conoscenza di parametri di riferimento che sono stati eseguiti sui vari tipi di nginx
, è in genere logico supporre che quanto più la versione di nginx
te viene abilitata per le funzionalità, tanto più risorse utilizzerà.
Tuttavia, a differenza di Apache che può essere una sorta di puttana di memoria con più moduli abilitati, nginx
non consuma ancora tanta memoria rispetto ad Apache quando i moduli sono abilitati. (L'eccezione a questa affermazione è il naxsi
sapore. Quel sapore consuma sempre molte più risorse, in quanto è un Web Application Firewall e un web server.)
Aggiungerò parametri di riferimento a questa risposta se li trovo, ma ancora una volta non sono a conoscenza di parametri di riferimento esistenti per i vari gusti l'uno contro l'altro. E anche se i siti corro non hanno traffico pesante, non ho notato alcuna reale riduzione delle prestazioni tra i nginx-extras
, nginx-full
o nginx-light
su un sito PHP-driven.