Výber medzi Apache a NGINX pre vaše potreby webhostingu

Ak chcete začať s úplne novým webovým projektom, potrebujete iba dve veci: poskytovateľa hostingu a server HTTP (HyperText Transfer Protocol). Poskytovatelia cloudu, ako sú Amazon Web Services a Microsoft Azure, ponúkajú celý rad možností platformy, aby vyhoveli požiadavkám na veľkosť a rýchlosť vašich stránok. Po registrácii u cloudového hostiteľa si môžete vybrať, ktorý server HTTP sa má spustiť na virtualizovanom hardvéri.


HTTP server je zodpovedný za prijímanie webových požiadaviek od návštevníkov vašich stránok a za odpovedanie ich obsahu do ich prehliadača. Napríklad základná webová požiadavka môže vyžadovať textový obsah HTML a sériu prepojených obrázkov. HTTP server doručí webovú odpoveď, ktorú môžu prehliadače ako Google Chrome alebo Mozilla Firefox porozumieť a zobraziť.

Pokiaľ ide o servery HTTP, v súčasnej krajine dominujú dve riešenia: Apace a NGINX (čo sa vyslovuje ako „Engine X“). Čítajte ďalej, aby ste sa naučili základy oboch a ako sa navzájom porovnávajú, pokiaľ ide o architektúru, výkon a ďalšie kategórie.

Základy Apache

Riešenie webového servera Apache existuje už od polovice 90. rokov. Vzhľadom na dlhovekosť a stabilitu softvéru zostáva jednou z najpopulárnejších možností hostenia webových stránok. Je to kľúčová časť vývojového balíka LAMP, ktorý používajú tímy všetkých veľkostí na nasadenie dynamických aplikácií na internete. Ďalšími prvkami zásobníka LAMP sú Linux (operačný systém), MySQL (databáza) a PHP (skriptovanie na strane servera)..

Apache sa ponúka ako bezplatný softvér s otvoreným zdrojom. Spravuje ju a vyvíja Apache Software Foundation. Keď na scénu prišiel v 90. rokoch svetový web, Apache bol predvoleným serverovým riešením pre väčšinu webových stránok. Bol navrhnutý s ohľadom na jednoduchosť, a hoci to umožňuje flexibilitu a škálovateľnosť, Apache získal popularitu v čase, keď úroveň internetového prenosu bola oveľa nižšia ako v súčasnosti..

Základy NGINX

Riešenie webového servera NGINX bolo prvýkrát vydané v roku 2002. Vytvorilo ho jediný správca systémov v Rusku a o dva roky neskôr sa stalo súčasťou komunity open source. Dizajn NGINX sa zameriava konkrétne na rýchlosť a výkon, dve oblasti, v ktorých niektorí veria, že Apache chýba. V skutočnosti sa projekt NGINX pôvodne vyskytol v dôsledku verejnej výzvy C10K, ktorá od vývojárov vyžadovala, aby navrhli riešenie HTTP, ktoré by dokázalo zvládnuť 10 000 súčasných používateľov pri stabilnej úrovni výkonu..

V poslednom desaťročí sa NGINX rozrástla v popularite, najmä medzi začínajúcimi podnikmi, ktoré potrebujú rýchlo rásť svoj hardvér. Všeobecne sa však NGINX považuje za ťažšie nastaviť a integrovať ako Apache.

Úvahy o architektúre

Softvérový balík Apache obsahuje množinu modulov na viacnásobné spracovanie (známych ako MPM), ktoré správcovi servera umožňujú určiť, ako by ich riešenie HTTP malo spracovávať požiadavky. Tento typ architektúry umožňuje veľkú flexibilitu a prispôsobenie.

Najzákladnejším modulom Apache je mpm_prefork. Pracuje na logike s jedným vláknom, pričom každý serverový proces spracúva naraz jednu webovú požiadavku. Toto je odporúčaný modul pre webové projekty založené na skriptovacom jazyku PHP. Ďalším modulom Apache je mpm_worker, ktorý podporuje viac vlákien súčasne. Pomôže to Apache byť efektívnejší a škálovateľnejší. Posledný primárny modul Apache, mpm_event, funguje podobným spôsobom ako mpm_worker, ale poskytuje lepšiu podporu pre udržiavané spojenia, ktoré sú vyžadované pre mnoho moderných webových aplikácií..

NGINX sa od architektúry Apache jednoznačne odlišuje. Je založený skôr na koncepcii operácie riadenej udalosťami než na použití procesov alebo vlákien. To znamená, že jeden pracovník NGINX dokáže zvládnuť tisíce spojení HTTP súčasne.

NGINX sa spolieha na systém opakovania, ktorý umožňuje pracovníkom rýchlo vyzdvihnúť nové požiadavky vždy, keď sa udalosť spustí. Udalosti sa spracúvajú asynchrónne, čo znamená, že nemusia čakať na ďalšie priradenie ďalších udalostí.

Spracovanie obsahu

V súčasnosti patrí webový obsah do jednej z dvoch kategórií: statická alebo dynamická. Statický obsah zahŕňa na webovej stránke čokoľvek, čo zostáva konzistentné bez ohľadu na to, ako sa web používa. Napríklad logo spoločnosti v hornej časti webovej stránky je kus statického obsahu. Na druhej strane dynamický obsah je riadený skriptovacími jazykmi, ako je PHP, a bude sa meniť na základe relácie používateľa alebo iných premenných. E-mailové stránky, bankové stránky a sociálne siete sa spoliehajú na dynamický obsah, aby používateľom ukázali svoje individuálne údaje.

Apache môže poskytovať statický obsah iba na jednom vlákne, čo robí NGINX presvedčivejším riešením pre webové projekty, ktoré potrebujú veľké množstvo statického obsahu doručeného rýchlo. Apache však ponúka niektoré výhody, pokiaľ ide o dynamický obsah. Ľahko sa integruje s PHP a môže vložiť skriptovací procesor priamo do HTTP pracovníka. Základný softvérový balík NGINX nezahŕňa podporu pre dynamické doručovanie obsahu, takže budete musieť do svojho softvérového zásobníka pridať externý procesor, aby ste ho mohli podporovať..

Porovnanie výkonu

Externí návštevníci vašich webových stránok sa nestarajú o to, aký druh servera HTTP používate na koncovom serveri. Týka sa to iba rýchleho a spoľahlivého prístupu k vášmu obsahu. Z tohto dôvodu by výkon mal byť kľúčovým ukazovateľom, ktorý treba brať do úvahy pri hodnotení Apache aj NGINX ako možností webhostingu.

Vďaka svojej architektúre založenej na udalostiach sa NGINX všeobecne považuje za najrýchlejšie riešenie HTTP. Funguje s minimálnymi zdrojmi, a to aj v čase, keď váš webový tok rastie. To má za následok nízku spotrebu pamäte a CPU, zatiaľ čo Apache môže vyžadovať väčšie využitie hardvéru v časoch zvýšeného zaťaženia.

Ľahká implementácia

Ak je hostiteľ HTTP Apache nainštalovaný na webovom serveri ako súčasť balíka softvéru LAMP, je jeho konfigurácia a spustenie neuveriteľne jednoduché. Väčšina administrátorov nebude musieť vôbec upravovať nastavenia modulu pre viacnásobné spracovanie. Väčšina prispôsobení Apache sa uskutoční na úrovni adresárov v súboroch známych ako súbory .htaccess.

Tieto malé textové položky vám umožňujú písať pravidlá a pokyny, ako by mal server HTTP spracovávať určité typy požiadaviek. Môžete napríklad zapnúť prepisovanie webových adries, aby konkrétna webová adresa vo vašej doméne načítala zdroje z iného umiestnenia. Toto sa často používa na webových stránkach sociálnych médií, kde sa na konci adresy URL zobrazuje „/ užívateľské meno“.

NGINX nepodporuje súbory .htaccess ani inú konfiguráciu na úrovni adresárov. Vďaka tomu je spracovanie žiadostí rýchlejšie a bezpečnejšie, ale stále obmedzuje kontrolu, ktorú má správca systému.

Kompatibilita a podpora

Servery HTTP sa zvyčajne spúšťajú na operačných systémoch založených na systéme UNIX, najmä na platformách Linux s otvoreným zdrojovým kódom. Je to kvôli rýchlosti, pretože UNIX sa považuje za najúčinnejší dostupný operačný systém. Apache aj NGINX môžu byť nainštalované na populárnych Linuxových distribúciách ako Ubuntu alebo BSD.

Apache tiež ponúka plnú podporu pre operačný systém Microsoft Windows Server. NGINX možno nakonfigurovať tak, aby bežal aj na Windows, ale vo všeobecnosti sa považuje za menej stabilný. Ak vaša organizácia prevádzkuje systém Windows výlučne na svojich webových serveroch, Apache bude logickou voľbou.

Apache má robustný online dokumentačný portál s poznámkami k vydaniu, referenčnými príručkami, užívateľskými príručkami a návodmi, ktoré vám pomôžu nainštalovať Apache vo vašom cloudovom prostredí a začať ho používať pre webovú aplikáciu. NGINX ponúka podobný typ úložiska dokumentácie, ktorý pokrýva základnú konfiguráciu, ako aj podrobnejšiu príručku vývoja.

zhrnutie

Apache a NGINX sú veľmi populárne riešenia HTTP servera v dnešnom modernom svete cloud computingu. Väčšina najlepších hostingových spoločností v Kanade používa Apache a NGINX.

Vloženie jedného z nich do vášho vývojového zásobníka je múdra voľba, pretože poskytne stabilný výkon a spoľahlivosť.

Ak je rýchlosť najvyššou prioritou a na vašom webe sa bude nachádzať veľké množstvo statického obsahu, môže byť najlepšou voľbou NGINX. Stáva sa tiež preferovanou voľbou medzi vývojovými tímami, ktoré budujú architektúru mikroservisov s množstvom subsystémov, ktoré vzájomne pôsobia. Na druhej strane, drobní vývojári alebo nováčikovia sa môžu lepšie držať Apache, pretože je ľahšie ich nastaviť a prichádza vopred nakonfigurovaný pomocou softvérových balíkov tretích strán, ako je LAMP..

Jednu vec treba mať na pamäti, že si nemusíte nevyhnutne vyberať medzi Apache a NGINX a zabudnúť na druhú. V skutočnosti sa tieto dve riešenia veľmi často používajú v tandeme, aby poskytovali čo najlepší zážitok z webhostingu. Keď je NGINX nastavený ako váš počiatočný webový proxy, žiadosti sa môžu rýchlo spracovať a odosielať pracovníkovi Apache na konci aplikácie. Od tejto chvíle sa Apache môže integrovať s PHP alebo iným skriptovacím jazykom, aby pripravil webovú odpoveď a poslal ju späť do vrstvy NGINX..

Pri výbere riešenia servera HTTP nezabudnite vykonať prieskum. Váš vybraný systém sa stane súčasťou chrbtice vášho webu alebo aplikácie a bude rozhodujúci pre každodennú skúsenosť vašich používateľov.

Tiež sa ti môže páčiť:

  • Najlepšie webhosting
  • Najlepší tvorca webových stránok

Referencie 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
    Like this post? Please share to your friends:
    Adblock
    detector
    map