Volba mezi Apache a NGINX pro vaše potřeby webhostingu

Chcete-li začít s úplně novým webovým projektem, potřebujete skutečně pouze dvě věci: poskytovatele hostingu a server HTTP (HyperText Transfer Protocol). Poskytovatelé cloudu, jako jsou Amazon Web Services a Microsoft Azure, nabízejí celou řadu možností platforem, které splňují požadavky na velikost a rychlost vašeho webu. Jakmile se zaregistrujete u cloudového hostitele, můžete si vybrat, který server HTTP se má spustit na virtualizovaném hardwaru.


HTTP server je zodpovědný za přijímání webových požadavků od návštěvníků vašeho webu a za odpověď na jejich prohlížeč s odpovídajícím obsahem. Například základní webový požadavek může vyžadovat textový obsah HTML a řadu propojených obrázků. HTTP server doručí webovou odpověď, kterou mohou prohlížeče jako Google Chrome nebo Mozilla Firefox porozumět a zobrazit.

Pokud jde o servery HTTP, dominují ve většině současné krajiny dvě řešení: Apace a NGINX (což se vyslovuje jako „Engine X“). Čtěte dále a naučte se základy obou a jak se vzájemně porovnávají z hlediska architektury, výkonu a dalších kategorií.

Základy Apache

Řešení webového serveru Apache existuje již od poloviny 90. let. Vzhledem k dlouhé životnosti a stabilitě softwaru zůstává jednou z nejpopulárnějších možností hostování webových stránek. Je klíčovou součástí vývojového zásobníku LAMP, který používají týmy všech velikostí k nasazení dynamických aplikací na internetu. Dalšími prvky zásobníku LAMP jsou Linux (operační systém), MySQL (databáze) a PHP (skriptování na straně serveru).

Apache je nabízen jako bezplatný softwarový balíček s otevřeným zdrojovým kódem. Je řízen a vyvíjen Apache Software Foundation. Když na scénu dorazil celosvětový web v 90. letech, byl Apache pro většinu webů výchozí serverové řešení. Byl navržen s ohledem na jednoduchost, a ačkoli to umožňuje flexibilitu a škálovatelnost, Apache získal popularitu v době, kdy úroveň internetového provozu byla mnohem nižší než dnes..

Základy NGINX

Řešení webového serveru NGINX bylo poprvé vydáno v roce 2002. Vytvořilo jej jediný správce systémů v Rusku a o dva roky později se stalo součástí open-source komunity. Design za NGINX se zaměřuje konkrétně na rychlost a výkon, dvě oblasti, kde se někteří domnívají, že Apache chybí. Ve skutečnosti se projekt NGINX původně objevil v důsledku veřejné výzvy C10K, která od vývojářů požadovala, aby navrhli řešení HTTP, které by zvládlo 10 000 současných uživatelů při stabilní úrovni výkonu..

NGINX v poslední dekádě rostla v oblibě, zejména mezi startupy, které potřebují rychle růst svůj hardware. Obecně se však NGINX považuje za obtížnější nastavit a integrovat než Apache.

Architektonické úvahy

Softwarový balíček Apache obsahuje sadu modulů pro více zpracování (známých jako MPM), které umožňují správci serveru určit, jak by jejich řešení HTTP mělo zpracovat požadavky. Tento typ architektury umožňuje velkou flexibilitu a přizpůsobení.

Nejzákladnějším modulem Apache je mpm_prefork. Pracuje na logice s jedním vláknem, kde každý serverový proces zpracovává vždy jeden webový požadavek. Toto je doporučený modul pro webové projekty založené na skriptovacím jazyce PHP. Dalším modulem Apache je mpm_worker, který podporuje více vláken současně. To pomůže Apache být efektivnější a škálovatelnější. Poslední primární modul Apache, mpm_event, pracuje podobným způsobem jako mpm_worker, ale přidává lepší podporu pro udržení připojení, které je vyžadováno pro mnoho moderních webových aplikací..

NGINX se určitě odlišuje od Apache z hlediska architektury. Je založen spíše na konceptu operace řízené událostmi než na použití procesů nebo vláken. To znamená, že jediný pracovník NGINX dokáže zpracovat tisíce připojení HTTP současně.

NGINX spoléhá na systém opakování, který umožňuje pracovníkům rychle vyzvednout nové požadavky pokaždé, když je událost spuštěna. Události jsou zpracovávány asynchronně, což znamená, že nemusejí čekat, až budou další události přiřazeny postupně.

Zpracování obsahu

V současné době spadá webový obsah do jedné ze dvou kategorií: statický nebo dynamický. Statický obsah zahrnuje cokoli na webové stránce, které zůstává konzistentní bez ohledu na to, jak je web používán. Logo společnosti v horní části webu je například statický obsah. Na druhou stranu dynamický obsah je řízen skriptovacími jazyky, jako je PHP, a bude se měnit na základě relace uživatele nebo jiných proměnných. E-mailové stránky, bankovní weby a sociální sítě se spoléhají na dynamický obsah, který uživatelům zobrazuje jejich jednotlivá data.

Apache může obsluhovat statický obsah pouze na jednom vlákně, což z NGINX činí přesvědčivější řešení pro webové projekty, které vyžadují rychlé dodání statického obsahu. Apache však nabízí některé výhody, pokud jde o dynamický obsah. Snadno se integruje s PHP a může vložit skriptovací procesor přímo do HTTP pracovníka. Základní softwarový balíček NGINX nezahrnuje podporu pro dynamické doručování obsahu, takže pro jeho podporu budete muset do svého softwarového zásobníku přidat externí procesor..

Porovnání výkonu

Externí návštěvníci vašeho webu se nestarají o to, jaký druh HTTP serveru používáte na backendu. Jedná se pouze o rychlý a spolehlivý přístup k vašemu obsahu. Z tohoto důvodu by výkon měl být klíčovou metrikou, kterou je třeba vzít v úvahu při hodnocení Apache i NGINX jako možností webhostingu.

Díky své architektuře založené na událostech je NGINX obecně považován za nejrychlejší řešení HTTP. Funguje na minimálních zdrojích, i když váš webový provoz v průběhu času roste. To má za následek nízkou spotřebu paměti a CPU, zatímco Apache může vyžadovat více hardwarového využití v době zvýšeného zatížení.

Snadná implementace

Pokud je hostitel HTTP Apache nainstalován na webovém serveru jako součást softwarového zásobníku LAMP, je jeho konfigurace a spuštění neuvěřitelně jednoduché. Většina správců nebude muset vůbec upravovat nastavení modulu pro více procesorů. Většina přizpůsobení Apache bude probíhat na úrovni adresářů v tzv. Souborech .htaccess.

Tyto malé textové položky umožňují psát pravidla a pokyny, jak by měl server HTTP zpracovávat určité typy požadavků. Můžete například zapnout přepisování URL, takže konkrétní webová adresa ve vaší doméně načte zdroje z jiného umístění. To se často používá na webech sociálních médií, kde se na konci adresy URL zobrazuje „/ uživatelské jméno“.

NGINX nepodporuje soubory .htaccess ani jinou konfiguraci na úrovni adresářů. Díky tomu je zpracování žádostí rychlejší a bezpečnější, ale stále omezuje kontrolu nad správcem systému.

Kompatibilita a podpora

Servery HTTP jsou obvykle provozovány na operačních systémech založených na systému UNIX, zejména na platformách Linux s otevřeným zdrojovým kódem. Toto je kvůli rychlosti, protože UNIX je považován za nejúčinnější dostupný operační systém. Apache i NGINX lze nainstalovat do populárních distribucí Linuxu, jako je Ubuntu nebo BSD.

Apache také nabízí plnou podporu pro operační systém Microsoft Windows Server. NGINX lze nakonfigurovat tak, aby běžel i na Windows, ale obecně se považuje za méně stabilní. Pokud vaše organizace provozuje Windows výhradně na svých webových serverech, bude Apache logickou volbou.

Apache má robustní online dokumentační portál s poznámkami k vydání, referenčními příručkami, uživatelskými příručkami a návody, které vám pomohou nainstalovat Apache ve vašem cloudovém prostředí a začít jej používat pro webovou aplikaci. NGINX nabízí podobný typ úložiště dokumentace, který zahrnuje základní konfiguraci a podrobnější vývojovou příručku.

souhrn

Apache a NGINX jsou v dnešním moderním světě cloud computingu velmi populární řešení HTTP serveru. Většina z nejlepších hostingových společností v Kanadě používá Apache a NGINX.

Vložení jednoho z nich do vašeho vývojového balíčku je moudrou volbou, protože poskytne stabilní výkon a spolehlivost.

Pokud je nejvyšší prioritou rychlost a váš web bude hostit velké množství statického obsahu, pak NGINX může být tou nejlepší volbou. Stává se také preferovanou volbou mezi vývojovými týmy, které staví architekturu mikroprocesorů se spoustou subsystémů, které spolu vzájemně spolupracují. Na druhé straně, drobní vývojáři nebo nováčci se mohou lépe držet Apache, protože je snazší nastavení a je předkonfigurováno pomocí softwarových balíčků třetích stran, jako je LAMP.

Jedna věc, kterou je třeba mít na paměti, je, že si nemusíte nutně vybrat mezi Apache a NGINX a zapomenout na druhou. Ve skutečnosti jsou tato dvě řešení velmi často používána v tandemu, aby poskytovala nejlepší možný webhostingový zážitek. Když je NGINX nastaven jako váš počáteční webový proxy, mohou být žádosti rychle zpracovány a odeslány pracovníkovi Apache na konci aplikace. Odtud se Apache může integrovat s PHP nebo jiným skriptovacím jazykem a připravit tak webovou odpověď a vrátit ji zpět do vrstvy NGINX.

Při výběru řešení serveru HTTP nezapomeňte provést průzkum. Váš vybraný systém se stane součástí páteře vašeho webu nebo aplikace a bude rozhodující pro každodenní zážitek vašich uživatelů.

Mohlo by se vám také líbit:

  • Nejlepší webhosting
  • Nejlepší webový tvůrce

Reference a obrazové kredity:

  • Nginx.com
  • ESDS.co.in
  • TutorialsPoint.com
  • NTU.edu.sg
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me

About the author

Adblock
detector