Izvēle starp Apache un NGINX jūsu tīmekļa mitināšanas vajadzībām

Lai sāktu darbu ar pilnīgi jaunu tīmekļa projektu, jums tiešām ir vajadzīgas tikai divas lietas: mitināšanas pakalpojumu sniedzējs un HTTP (HyperText Transfer Protocol) serveris. Mākoņu pakalpojumu sniedzēji, piemēram, Amazon Web Services un Microsoft Azure, piedāvā virkni platformu opciju, lai apmierinātu jūsu vietnes lieluma un ātruma prasības. Kad esat reģistrējies mākoņa resursdatorā, varat izvēlēties, kuru HTTP serveri darbināt ar savu virtualizēto aparatūru.


HTTP serveris ir atbildīgs par tīmekļa pieprasījumu pieņemšanu no jūsu vietnes apmeklētājiem un pēc tam atbild uz viņu pārlūkprogrammu ar atbilstošu saturu. Piemēram, pamata tīmekļa pieprasījumā var būt pieprasīts HTML teksta saturs un saistīto attēlu sērija. HTTP serveris sniegs tīmekļa atbildi, kuru var saprast un parādīt tādas pārlūkprogrammas kā Google Chrome vai Mozilla Firefox.

Runājot par HTTP serveriem, pašreizējā ainavā dominē divi risinājumi: Apace un NGINX (kas tiek izrunāts kā “Engine X”). Lasiet tālāk, lai uzzinātu abu pamatus un to salīdzināšanu arhitektūras, veiktspējas un citu kategoriju ziņā.

Apache pamati

Apache tīmekļa servera risinājums pastāv kopš 1990. gadu vidus. Ņemot vērā programmatūras ilgmūžību un stabilitāti, tā joprojām ir viena no populārākajām vietņu mitināšanas iespējām. Tā ir galvenā LAMP attīstības paketes sastāvdaļa, kuru jebkura lieluma komandas izmanto dinamisku lietojumprogrammu izvietošanai internetā. Citi LAMP steka elementi ir Linux (operētājsistēma), MySQL (datu bāze) un PHP (servera puses skriptēšana)..

Apache tiek piedāvāts kā bezmaksas, atvērtā pirmkoda programmatūras pakotne. To pārvalda un izstrādā Apache programmatūras fonds. Kad 1990. gados parādījās pasaules tīmeklis, lielākajai daļai vietņu Apache bija noklusējuma servera risinājums. Tas tika izstrādāts, paturot prātā vienkāršību, un, kaut arī tas pieļauj elastīgumu un mērogojamību, Apache ieguva popularitāti laikā, kad interneta trafika līmenis bija daudz zemāks nekā tas ir šodien.

NGINX pamati

NGINX tīmekļa servera risinājums pirmo reizi tika izlaists 2002. gadā. To izveidoja viens sistēmu administrators Krievijā, un divus gadus vēlāk tas kļuva par atvērtā pirmkoda kopienas daļu. NGINX dizains galvenokārt koncentrējas uz ātrumu un veiktspēju – divām jomām, kurās daži uzskata, ka trūkst Apache. Faktiski NGINX projekts sākotnēji notika pateicoties C10K publiskajam izaicinājumam, kurā izstrādātājiem tika lūgts izveidot HTTP risinājumu, kas vienmērīgā veiktspējas līmenī spētu izturēt 10 000 vienlaicīgus lietotājus..

Pēdējā desmitgadē NGINX popularitāte ir pieaugusi, it īpaši to jaunuzņēmumu vidū, kuriem strauji jāpaaugstina aparatūra. Tomēr kopumā tiek uzskatīts, ka NGINX ir grūtāk iestatīt un integrēt nekā Apache.

Arhitektūras apsvērumi

Apache programmatūras paketē ietilpst daudzapstrādes moduļu komplekts (pazīstams kā MPM), kas ļauj servera administratoram noteikt, kā viņu HTTP risinājumam jārīkojas ar pieprasījumiem. Šis arhitektūras tips pieļauj lielu elastību un pielāgošanu.

Visvienkāršākais Apache modulis ir mpm_prefork. Tas darbojas pēc viena pavediena loģikas, kur katrs servera process vienlaikus apstrādā vienu tīmekļa pieprasījumu. Šis ir ieteicamais modulis tīmekļa projektiem, kuru pamatā ir PHP skriptu valoda. Vēl viens Apache modulis ir mpm_worker, kas vienlaikus atbalsta vairākus pavedienus. Tas palīdzēs Apache būt efektīvākai un pielāgojamākai. Pēdējais primārais Apache modulis mpm_event darbojas līdzīgi kā mpm_worker, bet pievieno labāku atbalstu dzīvajiem savienojumiem, kas ir prasība daudzām modernām tīmekļa lietojumprogrammām..

NGINX arhitektūras ziņā noteikti atšķir no Apache. Tā pamatā ir notikumu vadītas operācijas jēdziens, nevis procesu vai pavedienu izmantošana. Tas nozīmē, ka viens NGINX darbinieks vienlaikus var apstrādāt tūkstošiem HTTP savienojumu.

NGINX paļaujas uz cilpu sistēmu, kas ļauj darbiniekiem ātri uzņemt jaunus pieprasījumus katru reizi, kad tiek iedarbināts kāds notikums. Notikumi tiek apstrādāti asinhroni, kas nozīmē, ka viņiem nav jāgaida, līdz secīgi tiek piešķirti citi notikumi.

Satura apstrāde

Mūsdienās tīmekļa saturu iedala vienā no divām kategorijām: statiskā vai dinamiskā. Statiskā saturā ir ietverts viss tīmekļa vietnes saturs, kas paliek nemainīgs neatkarīgi no vietnes izmantošanas. Piemēram, uzņēmuma logotips vietnes augšdaļā ir statiskā satura gabals. No otras puses, dinamisko saturu kontrolē skriptu valodas, piemēram, PHP, un tas mainīsies, pamatojoties uz lietotāja sesiju vai citiem mainīgajiem. E-pasta vietnes, banku vietnes un sociālie tīkli paļaujas uz dinamisku saturu, lai lietotājiem parādītu savus individuālos datus.

Apache var kalpot statiskam saturam tikai uz viena pavediena pamata, kas padara NGINX par saistošāku risinājumu tīmekļa projektiem, kuriem nepieciešams liels statiskā satura daudzums, kas tiek piegādāts ātri. Tomēr, runājot par dinamisko saturu, Apache piedāvā dažas priekšrocības. Tas viegli integrējas ar PHP un var iegult skriptu procesoru tieši HTTP darbinieks. NGINX pamata programmatūras paketē nav ietverts dinamiskas satura piegādes atbalsts, tāpēc programmatūras atbalstam jums būs jāpievieno ārējs procesors, lai to atbalstītu..

Veiktspējas salīdzinājumi

Ārpus jūsu vietnes apmeklētājiem būs vienalga, kādu HTTP serveri izmantojat uz aizmugures pamata. Viņiem rūp tikai ātra un uzticama piekļuve jūsu saturam. Šī iemesla dēļ veiktspējai jābūt galvenajai metrikai, kas jāņem vērā, novērtējot gan Apache, gan NGINX kā tīmekļa mitināšanas opcijas.

Pateicoties notikumu vadītajai arhitektūrai, NGINX parasti tiek uzskatīts par ātrāko HTTP risinājumu. Tas darbojas ar minimāliem resursiem, pat ja laika gaitā jūsu tīmekļa trafiks palielinās. Tas izraisa mazu atmiņas un CPU izmantošanu, savukārt Apache palielinātas slodzes laikā var būt nepieciešama lielāka aparatūras izmantošana.

Īstenošanas vienkāršība

Instalējot Web serverī kā daļu no LAMP programmatūras kaudzes, Apache HTTP resursdatoru ir neticami viegli konfigurēt un palaist. Lielākajai daļai administratoru vispār nebūs jāmaina daudzapstrādes moduļa iestatījumi. Lielākā Apache pielāgošana notiks direktoriju līmenī tā sauktajos .htaccess failos.

Šie mazie teksta vienumi ļauj uzrakstīt noteikumus un norādes par to, kā HTTP serverim būtu jāapstrādā noteikta veida pieprasījumi. Piemēram, varat ieslēgt URL pārrakstīšanu, lai konkrēta jūsu domēna tīmekļa adrese ielādētu resursus no citas vietas. To bieži izmanto sociālo mediju vietnēs, kur URL beigās tiek parādīts “/ lietotājvārds”.

NGINX neatbalsta .htaccess failus vai citas konfigurācijas direktoriju līmenī. Tas padara pieprasījumu apstrādi ātrāku un drošāku, bet tomēr ierobežo sistēmas administratora kontroli.

Saderība un atbalsts

HTTP serverus parasti darbina uz UNIX balstītām operētājsistēmām, īpaši atvērtā koda Linux platformām. Tas tiek darīts ātruma labad, jo UNIX tiek uzskatīta par visefektīvāko pieejamo operētājsistēmu. Gan Apache, gan NGINX var instalēt populāros Linux izplatījumos, piemēram, Ubuntu vai BSD.

Apache piedāvā arī pilnu Microsoft Windows Server operētājsistēmas atbalstu. NGINX var konfigurēt arī darbam ar Windows, taču parasti tas tiek uzskatīts par mazāk stabilu. Ja jūsu organizācija tikai operētājsistēmu Windows darbina ar saviem tīmekļa serveriem, loģiska izvēle būs Apache.

Apache ir spēcīgs tiešsaistes dokumentācijas portāls ar izlaišanas piezīmēm, atsauces rokasgrāmatām, lietotāja rokasgrāmatām un pamācībām, lai palīdzētu jums instalēt Apache mākoņa vidē un sākt to izmantot tīmekļa lietojumprogrammai. NGINX piedāvā līdzīga veida dokumentācijas repozitoriju, kas aptver pamata konfigurāciju, kā arī detalizētāku attīstības rokasgrāmatu.

Kopsavilkums

Apache un NGINX ir ļoti populāri HTTP servera risinājumi mūsdienu mākoņdatošanas pasaulē. Lielākā daļa no labākajiem hostinga uzņēmumiem Kanādā izmanto Apache un NGINX.

Jebkura viena ievietošana attīstības kaudzē ir saprātīga izvēle, jo tie nodrošinās stabilu veiktspēju un uzticamību.

Ja ātrums ir jūsu galvenā prioritāte un jūsu vietne mitinās lielu daudzumu statiskā satura, tad labākā izvēle varētu būt NGINX. Tā kļūst arī par vēlamo izvēli starp attīstības komandām, kuras veido mikropakalpojumu arhitektūru ar daudzām apakšsistēmām, kas savstarpēji mijiedarbojas. No otras puses, maziem izstrādātājiem vai iesācējiem var labāk nepatikt Apache, jo to ir vieglāk iestatīt un tas ir iepriekš konfigurēts ar trešo pušu programmatūras kaudzēm, piemēram, LAMP.

Viena lieta, kas jāpatur prātā, ir tas, ka jums nav obligāti jāizvēlas starp Apache un NGINX un jāaizmirst par otru. Faktiski šos divus risinājumus ļoti bieži izmanto tandēmā, lai nodrošinātu vislabāko iespējamo tīmekļa mitināšanas pieredzi. Kad NGINX ir iestatīts kā jūsu sākotnējais tīmekļa starpniekserveris, pieprasījumus var ātri apstrādāt un nosūtīt caur Apache darbinieku lietojumprogrammas beigās. Pēc tam Apache var integrēties ar PHP vai citu skriptu valodu, lai sagatavotu tīmekļa atbildi un pievienotu to atpakaļ NGINX slānim.

Pārliecinieties, ka esat izvēlējies HTTP servera risinājumu. Jūsu izvēlētā sistēma kļūs par jūsu vietnes vai lietojumprogrammas mugurkaulu, un tā būs kritiska jūsu lietotāju ikdienas pieredzē.

Jums var patikt arī:

  • Labākais tīmekļa mitināšana
  • Labākais vietņu veidotājs

Atsauces un attēla kredītpunkti:

  • Vietne 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