Izbira med Apache in NGINX za vaše potrebe spletnega gostovanja

Če želite začeti s povsem novim spletnim projektom, potrebujete samo dve stvari: ponudnika gostovanja in strežnika HTTP (HyperText Transfer Protocol). Ponudniki oblakov, kot so Amazon Web Services in Microsoft Azure, ponujajo vrsto možnosti platforme, da izpolnijo zahteve glede velikosti in hitrosti vašega spletnega mesta. Ko se prijavite z gostiteljem v oblaku, lahko izberete, kateri strežnik HTTP bo deloval na vaši virtualizirani strojni opremi.


Strežnik HTTP je odgovoren za sprejemanje spletnih zahtev obiskovalcev vašega spletnega mesta in nato odgovarjanje njihovemu brskalniku z ustrezno vsebino. Na primer, osnovna spletna zahteva lahko zahteva besedilno vsebino HTML in vrsto povezanih slik. Strežnik HTTP bo posredoval spletni odgovor, ki ga lahko brskalniki, kot sta Google Chrome ali Mozilla Firefox, razumejo in prikažejo.

Kar zadeva strežnike HTTP, večji del trenutne pokrajine prevladujeta dve rešitvi: Apace in NGINX (ki se izgovarja kot “Engine X”). Preberite nadaljevanje, če se boste naučili osnov obojega in kako se med seboj primerjajo v arhitekturi, zmogljivosti in drugih kategorijah.

Osnove Apača

Rešitev spletnega strežnika Apache obstaja že od sredine devetdesetih let. Glede na dolgoživost in stabilnost programske opreme je še vedno ena najbolj priljubljenih možnosti za gostovanje spletnih mest. Je ključni del razvojnega sklopa LAMP, ki ga ekipe vseh velikosti uporabljajo za nameščanje dinamičnih aplikacij na internetu. Drugi elementi sklada LAMP so Linux (operacijski sistem), MySQL (baza podatkov) in PHP (skriptno na strani strežnika).

Apache je na voljo kot brezplačen, odprtokodni programski paket. Upravlja in razvija ga programska fundacija Apache. Ko je v devetdesetih na sceno prišel svetovni splet, je bila Apache privzeta rešitev za strežnik za večino spletnih mest. Zasnovan je bil s preprostostjo v mislih, in čeprav omogoča fleksibilnost in razširljivost, je Apache pridobil priljubljenost v času, ko je bila raven internetnega prometa precej nižja, kot je danes.

Osnove NGINX

Rešitev spletnega strežnika NGINX je bila prvič objavljena leta 2002. Ustvaril jo je en sam sistemski administrator v Rusiji, dve leti pozneje pa je postal del odprtokodne skupnosti. Zasnova za NGINX se osredotoča posebej na hitrost in zmogljivost, dve področji, kjer nekateri menijo, da Apache primanjkuje. Dejansko je projekt NGINX prvotno nastal zaradi javnega izziva C10K, ki je razvijalce pozval, naj oblikujejo rešitev HTTP, ki bi lahko z enakomerno ravnjo zmogljivosti obravnavala 10.000 sočasnih uporabnikov..

NGINX je v zadnjem desetletju vedno bolj priljubljen, zlasti med startupi, ki morajo hitro razvijati svojo strojno opremo. Vendar na splošno velja, da je NGINX težje nastaviti in integrirati kot Apache.

Arhitekturna vprašanja

Programski paket Apache vključuje nabor modulov za več procesov (znanih kot MPM), ki skrbniku strežnika omogočajo, da določi, kako naj njihova rešitev HTTP obravnava zahteve. Ta vrsta arhitekture omogoča veliko prilagodljivost in prilagoditev.

Najosnovnejši Apache modul je mpm_prefork. Deluje na enotirni logiki, kjer vsak strežniški postopek obravnava po eno spletno zahtevo. To je priporočeni modul za spletne projekte, ki temeljijo na skriptnem jeziku PHP. Drugi modul Apache je mpm_worker, ki podpira več niti hkrati. To bo pomagalo Apacheu biti učinkovitejši in bolj razširljiv. Zadnji primarni modul Apache, mpm_event, deluje na podoben način kot mpm_worker, vendar doda boljšo podporo za ohranjanje živih povezav, ki so pogoj za številne sodobne spletne aplikacije.

NGINX se v arhitekturi zagotovo razlikuje od Apache. Temelji na konceptu delovanja, ki temelji na dogodkih, ne pa na uporabi procesov ali niti. To pomeni, da lahko en sam delavec NGINX hkrati obdela tisoč HTTP povezav.

NGINX se opira na sistem zanke, ki omogoča delavcem, da hitro poberejo nove zahteve vsakič, ko se dogodek sproži. Dogodki so obdelani asinhrono, kar pomeni, da jim ni treba čakati, da se drugi dogodki zaporedoma dodelijo.

Ravnanje z vsebino

V teh dneh spletna vsebina spada v eno od dveh kategorij: statično ali dinamično. Statična vsebina vključuje karkoli na spletni strani, ki ostane dosledno, ne glede na to, kako se spletna stran uporablja. Na primer, logotip podjetja na vrhu spletnega mesta je del statične vsebine. Nasprotno, dinamična vsebina, ki jo nadzorujejo skriptni jeziki, kot je PHP, se bo spremenila glede na uporabnikovo sejo ali druge spremenljivke. E-poštna spletna mesta, spletna mesta za bančništvo in družbena omrežja se zanašajo na dinamično vsebino, da uporabnikom prikažejo njihove posamezne podatke.

Apache lahko prikazuje statično vsebino samo na enem niti, zaradi česar je NGINX bolj prepričljiva rešitev za spletne projekte, ki potrebujejo hitro količino statične vsebine. Vendar pa Apache ponuja nekaj prednosti, ko gre za dinamične vsebine. Enostavno se integrira s PHP in lahko vdeli pisalni procesor neposredno v HTTP delavca. Osnovni programski paket NGINX ne vključuje podpore za dinamično oddajanje vsebine, zato boste morali v svoj paket programske opreme dodati zunanji procesor, da ga podprete.

Primerjave uspešnosti

Zunanjim obiskovalcem vaše spletne strani ne bo vseeno, kakšen strežnik HTTP uporabljate v zaledju. Skrbi jih le za dostop do vaše vsebine hitro in zanesljivo. Zaradi tega bi morala biti uspešnost ključna meritev, ki jo je treba upoštevati pri ocenjevanju Apache in NGINX kot možnosti spletnega gostovanja.

Zahvaljujoč svoji arhitekturi, ki temelji na dogodkih, velja, da je NGINX na splošno najhitrejša rešitev HTTP. Poteka z minimalnimi sredstvi, čeprav vaš spletni promet sčasoma raste. To ima za posledico majhno porabo pomnilnika in CPU, medtem ko Apache morda zahteva večjo uporabo strojne opreme v času večje obremenitve.

Enostavnost izvajanja

Ko je nameščen na spletni strežnik kot del programske opreme LAMP, je gostitelj Apache HTTP neverjetno preprost za konfiguriranje in zagon. Večini skrbnikov sploh ne bo treba spreminjati nastavitev modula za več procesov. Večina prilagoditev Apache bo na ravni imenika v datotekah .htaccess.

Te majhne besedilne postavke vam omogočajo, da napišete pravila in navodila, kako naj HTTP strežnik obravnava določene vrste zahtev. Na primer, lahko vklopite prepisovanje URL-jev, tako da bo določen spletni naslov v vaši domeni naložil vire z druge lokacije. To se pogosto uporablja na spletnih straneh družbenih medijev, kjer se na koncu URL-ja prikaže »/ uporabniško ime«.

NGINX ne podpira datotek .htaccess ali druge konfiguracije na ravni imenika. S tem je obdelava zahtevkov hitrejša in varnejša, vendar še vedno omejuje nadzor, ki ga ima sistemski skrbnik.

Združljivost in podpora

Strežniki HTTP običajno delujejo v operacijskih sistemih, ki temeljijo na UNIX-u, zlasti odprtokodnih Linux platform. To je zaradi hitrosti, saj velja, da je UNIX najbolj učinkovit operacijski sistem na voljo. Tako Apache kot NGINX lahko namestite na priljubljene distribucije Linuxa, kot sta Ubuntu ali BSD.

Apache ponuja tudi popolno podporo za operacijski sistem Microsoft Windows Server. NGINX je mogoče konfigurirati tudi za delovanje v operacijskem sistemu Windows, vendar se na splošno šteje, da je manj stabilen. Če vaša organizacija izključno upravlja Windows na svojih spletnih strežnikih, bo Apache logična izbira.

Apache ima močan spletni dokumentacijski portal z opombami o izdaji, referenčnimi priročniki, priročniki za uporabo in vadnicami, s katerimi boste lahko Apache namestili v svoje oblačno okolje in ga začeli uporabljati za spletno aplikacijo. NGINX ponuja podobno vrsto skladišča dokumentacije, ki zajema osnovno konfiguracijo in podrobnejši vodnik za razvoj.

Povzetek

Apache in NGINX sta zelo priljubljeni strežniški rešitvi HTTP v današnjem sodobnem svetu računalništva v oblaku. Večina najboljših gostovalnih podjetij v Kanadi uporablja Apache in NGINX.

Vstavljanje enega ali drugega v razvojni sklad je pametna izbira, saj bosta zagotovili stabilne zmogljivosti in zanesljivost.

Če je vaša največja prioriteta hitrost in bo vaše spletno mesto gostilo veliko statične vsebine, je NGINX morda najboljša možnost. Prav tako postaja najprimernejša izbira med razvojnimi skupinami, ki gradijo mikroservisno arhitekturo z veliko podsistemi, ki medsebojno delujejo. Po drugi strani pa je majhnim razvijalcem ali novincem morda bolje, da se držijo Apache, saj je enostavnejša nastavitev in je predhodno konfigurirana s programsko opremo drugih proizvajalcev, kot je LAMP.

Upoštevati je treba, da ni nujno, da izbirate med Apache in NGINX, na drugo pa pozabite. V resnici se obe rešitvi zelo pogosto uporabljata v tandemu, da bi zagotovili najboljšo možno izkušnjo spletnega gostovanja. Ker je NGINX postavljen kot vaš začetni spletni proxy, lahko zahteve hitro obdelamo in jih pošljete delavcu Apache na koncu aplikacije. Od tam se lahko Apache integrira s PHP ali drugim skriptnim jezikom, da pripravi spletni odziv in ga vrne nazaj v sloj NGINX.

Pri izbiri rešitve za strežnik HTTP se prepričajte, da opravite svoje raziskave. Vaš izbrani sistem bo postal del hrbtne strani vašega spletnega mesta ali aplikacije in bo kritičen pri vsakodnevni izkušnji vaših uporabnikov.

Lahko vam je tudi všeč:

  • Best Web Hosting
  • Best Builder spletnih strani

Reference in sliki:

  • 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