Podczas gdy odpowiedź Stevena dotyczy kluczowych punktów i bardzo podstawowego podsumowania tego, czym jest każdy smak, dam ci znacznie szerszy opis różnic, ponieważ dość dużo pracuję nad opakowaniem i bardzo różnymi zestawami modułów w każdy z nich ma absolutnie kluczowe znaczenie dla dobrej odpowiedzi. Podstawowe opisy niewiele oddają porównanie. (Również podziękowania dla Stevena cytujące mój starszy blog (a nawet odnoszące się do mnie jako „opiekuna”. Chciałem przenieść post z Nginx na stronę główną na moim nowym blogu, ale nie miałem okazji .)
Zauważ też, że najnowsze pakiety dla serwera sieciowego NGINX są dostępne w PPA NGINX, utrzymywanym przeze mnie, opartym prawie całkowicie na Debianie. ( Stabilna PPA (1.6.2 od tego postu); Główna linia PPA (1.7.7 od tego postu, z 1.7.8 planowane do wylądowania 4 grudnia 2014 r.))
Różne smaki nginx
:
Różne smaki są tą samą wersją nginx
, jednak o smakach zdecydowali opiekunowie pakietów Debian w celu zapewnienia różnych zestawów funkcji (dla nginx-extras
), a także absolutnego minimum i najbardziej efektywnego „pełnego” zestawu funkcji, które serwery internetowe zwykle używają na stronach internetowych. Dokładny powód, dla którego wybrano funkcję nad inną, nie jest mi znany, jednak w dodatkowej dyskusji z jednym z opiekunów Debiana na IRC wydano oświadczenie potwierdzające moją wstępną ocenę, że każdy wariant miał być innym zestawem funkcji dla inny przypadek użycia - light
dla lekkiego zestawu funkcji, który spełnia absolutnie minimum hostingu witryny, full
dla pełniejszego zestawu funkcji bez uwzględnienia znacznie cięższych dodatków orazextras
dla prawie wszystkiego, co jest w pakiecie, który może być zawarty w Ubuntu. naxsi
, przed 15.04, był wariantem Naxsi, w którym znajdowało się tylko minimum modułów, ponieważ naxsi wymagało dość dużych zasobów.
Podobno, według jednego z opiekunów Debiana NGINX, który regularnie koordynuje z Upstream NGINX w prywatnej rozmowie, o której obecnie nie mogę publikować logów, NGINX 2.x będzie obsługiwał moduł ładowalny. W takim przypadku light
, full
i extras
staną się metapakiety które wzywają poszczególnych pakietów zawierających każdy moduł. Data, od której tak się dzieje, nie jest jednak znana, ani które moduły faktycznie będą w stanie to zrobić.
W obecnej postaci nginx
pakiet wirtualny został zaprojektowany tak, aby po prostu zainstalować jedną z dostępnych wersji. Domyślnie, jak nginx-core
to jest w głównej części i chcielibyśmy, aby użytkownicy korzystali z niej częściej, nginx-core
jest to pierwszy widoczny element i próba instalacji w pakiecie wirtualnym. (Jednak nginx
opakowanie może polegać na dowolnym smaku nginx
i ma głównie na celu ułatwienie instalacji dla tych, którzy nie potrzebują żadnych konkretnych preferencji dotyczących smaku)
Szczegółowy podział na poszczególne moduły dostępne w każdym wariancie (na podstawie pliku Vividdebian/control
i pliku Trustydebian/control
(ponieważ pakiety Naxsi zostały usunięte w Vivid)) jest dostępny poniżej. Pamiętaj, że nie odzwierciedla to najbardziej aktualnych zmian w Ubuntu i powinieneś zapoznać się z tymi opisami pakietów, aby upewnić się, że zaktualizowałeś dokładne informacje :
nginx-core
jest jedynym smakiem w sekcji głównej repozytoriów Ubuntu, począwszy od 14.04, i istnieje tylko w repozytoriach Ubuntu (i nie znajduje się w PPA ani w Debianie i nie będzie nigdy dołączany do Debiana). Jest efektywnie identyczny ze nginx-full
smakiem, ale nie zawiera żadnych modułów stron trzecich. Uzasadnienie użycianginx-full
ponieważ podstawą tego wariantu było to, że chcieliśmy zapewnić stosunkowo pełnoprawny zestaw modułów podstawowych w wbudowanych plikach binarnych, jednocześnie utrzymując moduły innych producentów w tym samym czasie. Jako taki nie zawiera żadnych modułów innych firm, ponieważ Zespół ds. Bezpieczeństwa dokonał przeglądu kodu i stwierdził, że moduły innych firm mają bardzo różne style kodowania, które nie są tak ładnie obsługiwane, jak dołączony pakiet nginx-tarball moduły (jest to omówione bardziej szczegółowo w błędzie Main Inclusion Request / Report , który zawiera punkty dyskusji i dalsze przeglądy dyskusji na temat tego, co może być zawarte w Ubuntu Main nginx
). Pełna lista włączonych tutaj modułów znajduje się w opisie pakietu, który tutaj wybrałem:
STANDARDOWE MODUŁY HTTP: Core, Access, Auth Basic, Auto Index, Browser, Charset, Empty GIF, FastCGI, Geo, Gzip, Headers, Index, Request Limit, Zone Zone, Log, Map, Memcached, Proxy, Referer, Rewrite, SCGI , Split Clients, SSI, Upstream, ID użytkownika, UWSGI.
OPCJONALNE MODUŁY HTTP: Dodawanie, debugowanie, GeoIP, kompresja wstępna Gzip, HTTP Sub, Filtr obrazów, IPv6, Real IP, Spdy, SSL, Status stubu, Podstawienie, WebDAV, XSLT.
MODUŁY POCZTY: Mail Core, IMAP, POP3, SMTP, SSL.
nginx-light
to najlżejszy nginx
dostępny smak . Znajduje się w repozytorium Wszechświata i musisz mieć to włączone, aby z niego korzystać. Nie włącza dużej liczby modułów dostępnych w -core
lub -full
. Zawiera również moduły innych firm. Dostępne w nim moduły to:
STANDARDOWE MODUŁY HTTP: Core, Access, Auth Basic, Auto Index, Charset, Empty GIF, FastCGI, Gzip, Headers, Index, Log, Map, Proxy, Rewrite, Upstream.
OPCJONALNE MODUŁY HTTP: Żądanie autoryzacji, debugowanie, kompresja wstępna Gzip, IPv6, Real Ip, SSL, status wejściowy.
MODUŁY PARTII TRZECIEJ: Echo.
nginx-full
jest jednym z bogatszych w funkcje smaków tego nginx
pakietu. Podobnie jak jego light
odpowiednik, znajduje się w repozytorium Wszechświata. Umożliwia większość podstawowych modułów, które są standardowe i opcjonalne w źródłowym pliku archiwalnym z nginx, a także kilka innych modułów innych firm zaprojektowanych w celu rozszerzenia możliwości serwera WWW nginx. Jego moduły są następujące:
STANDARDOWE MODUŁY HTTP: Core, Access, Auth Basic, Auto Index, Browser, Charset, Empty GIF, FastCGI, Geo, Gzip, Headers, Index, Request Limit, Zone Zone, Log, Map, Memcached, Proxy, Referer, Rewrite, SCGI , Split Clients, SSI, Upstream, ID użytkownika, UWSGI.
OPCJONALNE MODUŁY HTTP: Dodawanie, żądanie uwierzytelnienia, debugowanie, GeoIP, prekompresja Gzip, HTTP Sub, filtr obrazu, IPv6, Real IP, Spdy, SSL, Status wejściowy, Podstawienie, WebDAV, XSLT.
MODUŁY POCZTY: Mail Core, IMAP, POP3, SMTP, SSL.
MODUŁY STRON TRZECICH: Auth PAM, DAV Ext, Echo, HTTP Substitution Filter, Upstream Fair Queue.
nginx-extras
jest najbardziej bogatym w funkcje smakiem nginx
pakietu. I podobnie jak jego full
and light
braci, to też jest w repozytorium Universe. Umożliwia wszystkie moduły, nginx-full
ale zawiera również dodatkowe moduły (takie jak moduł Perl) i wiele innych modułów innych firm, zaprojektowanych w celu dalszego rozszerzenia możliwości serwera WWW nginx. Pełna lista modułów znajduje się poniżej:
STANDARDOWE MODUŁY HTTP: Core, Access, Auth Basic, Auto Index, Browser, Charset, Empty GIF, FastCGI, Geo, Gzip, Headers, Index, Request Limit, Zone Zone, Log, Map, Memcached, Proxy, Referer, Rewrite, SCGI , Split Clients, SSI, Upstream, ID użytkownika, UWSGI.
OPCJONALNE MODUŁY HTTP: Dodawanie, żądanie autoryzacji, debugowanie, osadzony Perl, FLV, GeoIP, prekompresja Gzip, filtr obrazu, IPv6, MP4, losowy indeks, rzeczywiste IP, bezpieczne łącze, Spdy, SSL, status połączenia, podstawienie, WebDAV, XSLT.
MODUŁY POCZTY: Mail Core, IMAP, POP3, SMTP, SSL.
MODUŁY STRON TRZECICH: Auth PAM, Chunkin, DAV Ext, Echo, Embedded Lua, Fancy Index, HttpHeadersMore, HTTP Substitution Filter, http push, Nginx Development Kit, Progress Upload, Upstream Fair Queue.
nginx-naxsi
jest wariantem nginx, który ma dostępny moduł zapory aplikacji sieciowych Naxsi. To także jest w Universe, jednak ten smak nie jest już obsługiwany przez opiekunów Debiana i zostanie całkowicie usunięty z Ubuntu wraz z wydaniem 15.04. Oprócz modułu WAF Naxsi zawiera również znacznie lżejszy zestaw modułów niż nginx-full
. Pełna lista modułów znajduje się poniżej:
STANDARDOWE MODUŁY HTTP: Core, Access, Auth Basic, Auto Index, Browser, Charset, Core, Empty GIF, FastCGI, Geo, Gzip, Headers, Index, Limit Request, Zone Limit, Log, Map, Memcached, Proxy, Referer, Rewrite , Podział klientów, SSI, Upstream, ID użytkownika.
OPCJONALNE MODUŁY HTTP: Debugowanie, IPv6, Real IP, SSL, Status stubu.
MODUŁY STRON TRZECICH: Naxsi, Cache Purge, Upstream Fair.
Wykorzystanie zasobów wśród smaków
Chociaż nie jestem świadomy żadnych testów porównawczych dla różnych smaków nginx
, zazwyczaj logiczne jest założenie, że im bardziej korzystasz z funkcji wersji, nginx
której używasz, tym więcej zasobów będzie zużywał.
Jednak w przeciwieństwie do Apache, który może być dziwką z pamięcią z włączoną większą liczbą modułów, nginx
nadal nie zjada tyle pamięci w porównaniu z Apache, gdy moduły są włączone. (Wyjątkiem od tego stwierdzenia jest naxsi
smak. Ten smak zawsze zjada o wiele więcej zasobów, ponieważ jest to Zapora aplikacji sieci Web, a także serwer WWW).
Dodam testy porównawcze do tej odpowiedzi, jeśli je znajdę, ale ponownie nie jestem świadomy żadnych istniejących testów porównawczych dla różnych smaków przeciwko sobie. I chociaż ja prowadzonych witryn nie mają duży ruch, nie zauważyłem żadnych realnych spadek wydajności pomiędzy nginx-extras
, nginx-full
lub nginx-light
na stronie PHP napędzane.