Odabir između Apache i NGINX za vaše potrebe web hostinga

Da biste započeli s potpuno novim web projektom, zapravo vam trebaju samo dvije stvari: hosting usluga i HTTP (HyperText Transfer Protocol) poslužitelja. Davatelji oblaka poput Amazon Web Services i Microsoft Azure nude niz mogućnosti platforme kako bi zadovoljili zahtjeve veličine i brzine vaše web lokacije. Nakon što se prijavite s domaćinom oblaka, možete odabrati koji HTTP poslužitelj će se pokrenuti na vašem virtualiziranom hardveru.


HTTP poslužitelj odgovoran je za prihvaćanje web zahtjeva od posjetitelja vaše web lokacije, a zatim odgovor na njihov preglednik s odgovarajućim sadržajem. Na primjer, osnovni web zahtjev može tražiti HTML tekstualni sadržaj i niz povezanih slika. HTTP poslužitelj isporučit će internetski odgovor koji preglednici poput Google Chrome-a ili Mozilla Firefox mogu razumjeti i prikazati.

Kad je riječ o HTTP poslužiteljima, dva rješenja dominiraju u većem dijelu trenutnog krajolika: Apace i NGINX (koji se izgovara kao “Engine X”). Čitajte dalje kako biste naučili osnove oboje i kako se međusobno uspoređuju u pogledu arhitekture, performansi i drugih kategorija.

Osnove Apača

Rješenje za web-poslužitelj Apache postoji još od sredine 1990-ih. S obzirom na dugovječnost i stabilnost softvera, i dalje je jedna od najpopularnijih opcija za hosting web stranica. Ključni je dio razvojnog skupa LAMP, koji timovi svih veličina koriste za raspoređivanje dinamičnih aplikacija na Internetu. Ostali elementi LAMP skupa su Linux (operativni sustav), MySQL (baza podataka) i PHP (skriptiranje na strani poslužitelja).

Apache se nudi kao besplatni programski paket s otvorenim kodom. Njime upravlja i razvija Apache Software Foundation. Kada je 1990. godine na scenu stigao svjetski web, Apache je bilo standardno rješenje poslužitelja za većinu web stranica. Dizajniran je s jednostavnošću na umu, a iako dopušta fleksibilnost i skalabilnost, Apache je stekao popularnost u doba kada su razine internetskog prometa bile znatno niže nego što su danas.

Osnove NGINX-a

RG rješenje za web poslužitelje NGINX prvi je put objavljeno 2002. godine. Izradio ga je jedan administrator sustava u Rusiji, a dvije godine kasnije postao je dio zajednice otvorenog koda. Dizajn koji stoji iza NGINX-a fokusiran je posebno na brzinu i performanse, dva područja gdje neki smatraju da nedostaje Apache. Zapravo je projekt NGINX izvorno nastao zbog javnog izazova C10K, koji je tražio od programera da dizajniraju HTTP rješenje koje može podnijeti 10.000 istodobnih korisnika uz stalnu razinu performansi..

NGINX je u posljednjem desetljeću narasla na popularnosti, posebno među startup-ovima koji moraju ubrzati svoj hardver. Međutim, smatra se da je NGINX teže uspostaviti i integrirati nego Apache.

Razmatranja arhitekture

Softverski paket Apache uključuje skup modula za više obrada (poznat kao MPM-ovi) koji administratoru poslužitelja mogu odrediti kako njihovo HTTP rješenje treba postupati sa zahtjevima. Ova vrsta arhitekture omogućuje veliku fleksibilnost i prilagodbu.

Najosnovniji Apache modul je mpm_prefork. Djeluje na jednocifrenu logiku, gdje svaki proces poslužitelja obrađuje jedan web zahtjev u isto vrijeme. Ovo je preporučeni modul za web projekte temeljen na skriptnom jeziku PHP. Drugi Apache modul je mpm_worker, koji podržava više niti istovremeno. To će pomoći Apacheu da bude učinkovitiji i skalabilniji. Posljednji primarni Apache modul, mpm_event, djeluje na sličan način kao mpm_worker, ali dodaje bolju podršku za održavanje živih veza, što je uvjet za mnoge moderne web aplikacije.

NGINX se arhitektonski razlikuje od Apachea. Temelji se na konceptu operacija usmjerenog na događaje, a ne na korištenju procesa ili niti. To znači da jedan NGINX radnik može istovremeno obraditi tisuće HTTP veza.

NGINX se oslanja na sustav petlje koji omogućava radnicima da brzo pokupe nove zahtjeve svaki put kada se neki događaj pokrene. Događaji se obrađuju asinkrono, što znači da ne moraju čekati da se drugi događaji dodijele uzastopno.

Upravljanje sadržajem

Ovih dana web sadržaj spada u dvije kategorije: statički ili dinamički. Statički sadržaj uključuje bilo što na web stranici koje ostaje dosljedno bez obzira na to kako se web stranica koristi. Na primjer, logotip tvrtke na vrhu web stranice dio je statičkog sadržaja. Dinamični sadržaj s druge strane kontrolira skriptni jezik kao što je PHP i mijenjat će se na temelju korisnikove sesije ili drugih varijabli. Web lokacije putem e-pošte, bankarske stranice i društvene mreže oslanjaju se na dinamičan sadržaj kako bi korisnicima pokazali njihove pojedinačne podatke.

Apache može posluživati ​​statički sadržaj samo na jednoj niti, što NGINX čini uvjerljivijim rješenjem za web projekte kojima je potrebna velika količina statičkog sadržaja brzog isporuke. Međutim, Apache nudi neke prednosti kada je u pitanju dinamični sadržaj. Lako se integrira s PHP-om i može ugraditi skriptni procesor izravno u HTTP radnik. Osnovni softverski paket NGINX ne uključuje podršku za dinamičku isporuku sadržaja, tako da ćete trebati dodati vanjski procesor u svoj softverski paket da biste ga podržali.

Usporedbe izvedbe

Vanjski posjetitelji vaše web stranice neće se brinuti koju vrstu HTTP poslužitelja koristite na početku. Bave se samo pristupom vašem sadržaju brz i pouzdan. Iz tog razloga, performanse bi trebale biti ključna metrika koju treba uzeti u obzir prilikom procjene i Apache i NGINX kao mogućnosti web hostinga.

Zahvaljujući arhitekturi zasnovanoj na događajima, NGINX se općenito smatra najbržim HTTP rješenjem. Radi na minimalnim resursima, čak i kako vaš web promet raste s vremenom. To rezultira smanjenom memorijom i potrošnjom procesora, dok Apache može zahtijevati više upotrebe hardvera tijekom vremena povećanog opterećenja.

Jednostavnost implementacije

Kada je instaliran na web poslužitelju kao dio LAMP-ove programske grupe, Apache HTTP domaćin je nevjerojatno jednostavan za konfiguriranje i pokretanje. Većina administratora uopće neće trebati mijenjati postavke višestrukog modula. Većina prilagođavanja Apache će se dogoditi na razini direktorija u onim što su poznate pod nazivom .htaccess datoteke.

Ove male tekstualne stavke omogućuju vam pisanje pravila i uputa za način na koji HTTP poslužitelj treba obraditi određene vrste zahtjeva. Na primjer, možete uključiti prepisivanje URL-a tako da će određena web adresa u vašoj domeni učitavati resurse s druge lokacije. Često se koristi na web stranicama društvenih medija na kojima se na kraju URL-a pojavljuje „/ korisničko ime“.

NGINX ne podržava .htaccess datoteke ili drugu konfiguraciju na razini direktorija. Ovo obrađuje zahtjev bržim i sigurnijim, ali ipak ograničava kontrolu koju ima administrator sustava.

Kompatibilnost i podrška

HTTP poslužitelji obično se izvode na UNIX operacijskim sustavima, posebno open-source Linux platformi. To je radi brzine, jer se UNIX smatra najučinkovitijim dostupnim operativnim sustavom. I Apache i NGINX mogu se instalirati na popularne Linux distribucije poput Ubuntu ili BSD.

Apache također nudi punu podršku za Microsoft Windows Server operativni sustav. NGINX se također može konfigurirati za pokretanje u sustavu Windows, ali se smatra da je manje stabilan. Ako vaša organizacija isključivo pokreće Windows na svojim web poslužiteljima, Apache će biti logičan izbor.

Apache ima robustan mrežni portal za dokumentaciju s napomenama o izdanju, referentnim priručnicima, korisničkim vodičima i tutorijalima koji će vam pomoći da instalirate Apache u svoje okruženje u oblaku i počnete ga koristiti za web aplikaciju. NGINX nudi sličnu vrstu skladišta dokumentacije koja pokriva osnovnu konfiguraciju kao i detaljniji razvojni vodič.

Sažetak

Apache i NGINX su vrlo popularna rješenja HTTP poslužitelja u današnjem modernom svijetu računalstva u oblaku. Većina najboljih hosting kompanija u Kanadi koriste Apache i NGINX.

Umetanje bilo kojeg u svoj razvojni niz mudar je izbor jer će oni pružiti stabilne performanse i pouzdanost.

Ako vam je brzina glavni prioritet, a vaše će web mjesto sadržavati veliku količinu statičkog sadržaja, tada je NGINX možda najbolja opcija. Također postaje preferirani izbor među razvojnim timovima koji grade arhitekturu mikroservisa s puno podsustava koji međusobno djeluju. S druge strane, malim programerima ili novorođenčadima možda je bolje držati se Apachea jer je to lakše za postavljanje i unaprijed konfigurirano s softverskim paketima drugih proizvođača poput LAMP-a.

Jedna stvar koju morate imati na umu je da ne morate nužno birati između Apache i NGINX, a zaboravite na drugu. Zapravo, ova dva rješenja se vrlo često koriste u tandemu kako bi pružili najbolje moguće web hosting iskustvo. Budući da je NGINX postavljen kao vaš početni web proksi, zahtjevi se mogu brzo obraditi i poslati radniku Apache na kraju aplikacije. Odatle se Apache može integrirati s PHP-om ili nekim drugim skriptnim jezikom kako bi pripremio odgovor na mreži i vratio ga natrag u sloj NGINX.

Obavezno istražite prilikom odabira rješenja HTTP poslužitelja. Vaš odabrani sustav postat će dio okosnice vaše web stranice ili aplikacije i bit će kritičan u svakodnevnom iskustvu vaših korisnika.

Možda ti se također svidi:

  • Najbolji web hosting
  • Najbolji graditelj web stranica

Reference i slikovni prilozi:

  • 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