Tradičně jsem nasadil své weby pod Apache, jednoduše ve výchozím nastavení. Slyšel jsem však něco o NGinXu a přemýšlím, za jakých podmínek by to bylo lepší. Jaké další možnosti jsou kromě serverů Apache a Nginx pro webové servery a jaké jsou jejich výhody?
Ano.
Jeden z webových serverů měl velkou zátěž během několika hodin. Poté, co jsem se podíval do protokolů, zjistil jsem, kdy došlo k zatížení špice, tam, kde se mnoho lidí dívalo do galerie.
Takže jsem vyložil 99% statického obsahu z Apache na nginx. Apache byl ponechán sloužit všem php. Zatížení na mých webových serverech kleslo na pěkně nízké číslo a bez dalších špiček s vysokým zatížením.
Pokud chcete získat více ze svých serverů, určitě si nějaký lehký server bude sloužit veškerému statickému obsahu.
Apache může být trochu těžký a při těžkém zatížení může spadnout. K dispozici jsou servery s nižší hmotností, včetně nginx, lighttpd a cherokee.
Tyto lehké možnosti lze nastavit tak, aby rychle obsluhovaly statické soubory a delegovaly dynamickou práci na straně serveru na server Apache.
Existuje hromada webových serverů. Očekávám, že záleží na požadovaném využití. Apache bude dělat většinu toho, co lidé chtějí, je to dobře známé, dobře aktualizované a bude fungovat téměř na jakékoli kombinaci hardwaru a operačního systému.
Pro porovnání webových serverů zaškrtněte Porovnání softwaru webového server .
Netcraft sleduje tržní podíl webových serverů a podle nich je IIS na druhém místě za Apache s 26,03% podílem (od července 2010). Toto je založeno na průzkumu více než 205 milionů stránek
Tento odkaz má důvody, proč byste se měli podívat na IIS7, pokud používáte Apache dnes
To záleží na tom, co děláte.
Pokud máte pouze statický obsah, nepotřebujete Apache. nginx nebo lighttpd vám poslouží dobře.
Pokud máte kombinaci statické a dynamické (dobře, Perl nebo PHP), ale malé stránky, můžete se s jednou z těchto alternativ plus FastCGI ještě obejít, nebo celou věc hodit do Apache.
Pokud obsluhujete Ruby spolu s vaším statickým obsahem, mělo by vám _mod_passenger
_ v Apache sloužit dobře, s vaším statickým obsahem nginx/lighttpd/etc.
Pro Python (moje oblast odborných znalostí) můžete nechat Apache použít _mod_python
_, pokud chcete, ale připravte se na pomalost. _mod_wsgi
_ je lepší, ale stále máte režii Apache, což je v pořádku , pokud máte hodně těžkých = dynamický provoz. Apache je většinou těžký zvedák.
Pokud nemáte velké množství silného provozu, podívejte se do nových systémů, jako je gunicorn
nebo uWSGI
nebo server all-in-one Cherokee, který vám pomůže s Pythonem. Cherokee také zpracovává statické soubory. Zbytek budete stále chtít používat nginx/lighttpd k poskytování statického obsahu.
Java a další jazyky, o kterých netuším.
Skvělá věc při používání nginxu je však to, že je to úžasně konfigurovatelné. Nastavte tedy několik statických serverů s různými subdoménami, každý pro CSS, obrázky a JS. Tímto způsobem můžete zabránit omezení dvou souborů na doménu najednou. Nastavte několik serverů a poté před nimi nastavte proxy server/vyrovnávač zatížení nginx, abyste se ujistili, že je vždy k dispozici veškerý statický obsah.
V zásadě ano, podívejte se na víc než jen na Apache!