Pagpili sa pagitan ng Apache at NGINX para sa Iyong Mga Pangangailangan sa Web Hosting

Upang makapagsimula sa isang bagong proyekto sa web, kailangan mo lamang ng dalawang bagay: isang hosting provider at isang server ng HTTP (HyperText Transfer Protocol). Ang mga nagbibigay ng Cloud tulad ng Amazon Web Services at Microsoft Azure ay nag-aalok ng isang hanay ng mga pagpipilian sa platform upang matugunan ang laki at bilis ng iyong mga site. Kapag nag-sign up ka sa isang host host, maaari mong piliin kung aling mga server ng HTTP ang tatakbo sa iyong virtualized na hardware.


Ang isang HTTP server ay responsable para sa pagtanggap ng mga kahilingan sa web mula sa mga bisita ng iyong site at pagkatapos ay tumugon sa kanilang browser na may naaangkop na nilalaman. Halimbawa, ang isang pangunahing kahilingan sa web ay maaaring humiling ng nilalaman ng teksto ng HTML at isang serye ng mga naka-link na imahe. Maghahatid ang HTTP server ng isang tugon sa web na maiintindihan at maipakita ng mga browser tulad ng Google Chrome o Mozilla Firefox.

Pagdating sa mga server ng HTTP, ang dalawang solusyon ay nangingibabaw sa kasalukuyan ng tanawin: Apace at NGINX (na kung saan ay binibigkas tulad ng “Engine X”). Basahin ang upang malaman ang mga pangunahing kaalaman ng pareho at kung paano nila ihahambing ang isa’t isa sa mga tuntunin ng arkitektura, pagganap, at iba pang mga kategorya.

Mga Pangunahing Kaalaman sa Apache

Ang solusyon sa web server ng Apache ay mula pa noong kalagitnaan ng 1990. Dahil sa kahabaan at katatagan ng software, nananatili itong isa sa mga pinakapopular na pagpipilian para sa pagho-host ng mga website. Ito ay isang pangunahing bahagi ng LAMP stack na pag-unlad, na ginagamit ng mga koponan ng lahat ng mga sukat upang mag-deploy ng mga dynamic na aplikasyon sa internet. Ang iba pang mga elemento ng LAMP stack ay ang Linux (operating system), MySQL (database), at PHP (server-side script).

Inaalok ang Apache bilang isang libre, bukas na mapagkukunan ng software package. Ito ay pinamamahalaan at binuo ng Apache Software Foundation. Nang dumating ang buong mundo sa buong mundo sa tagpo noong 1990, ang Apache ay ang default na solusyon ng server para sa karamihan sa mga website. Ito ay dinisenyo na may pagiging simple sa isip, at bagaman pinapayagan nito ang kakayahang umangkop at scalability, nakakuha ng katanyagan ang Apache sa isang oras na ang mga antas ng trapiko sa internet ay mas mababa kaysa sa ngayon.

Mga Pangunahing Kaalaman ng NGINX

Ang NGINX web server solution ay unang inilabas noong 2002. Nilikha ito ng isang nag-iisang system administrator sa Russia at naging bahagi ng open-source na komunidad makalipas ang dalawang taon. Ang disenyo sa likod ng NGINX ay partikular na nakatuon sa bilis at pagganap, dalawang lugar kung saan naniniwala ang ilan na kulang si Apache. Sa katunayan, ang proyektong NGINX ay orihinal na naganap dahil sa hamon ng publiko sa C10K, na humiling sa mga developer na magdisenyo ng isang solusyon sa HTTP na maaaring mahawakan ang 10,000 mga kasabay na gumagamit sa isang matatag na antas ng pagganap.

Ang NGINX ay lumago sa katanyagan sa nakaraang dekada, lalo na sa mga startup na kailangang palaguin ang kanilang hardware sa isang mabilis na rate. Gayunpaman, sa pangkalahatang NGINX ay itinuturing na mas mahirap sa pag-setup at pagsasama kaysa sa Apache.

Mga Pagsasaalang-alang sa Arkitektura

Kasama sa package ng Apache software ang isang hanay ng mga multi-processing module (na kilala bilang MPM) na nagpapahintulot sa isang administrator ng server na matukoy kung paano dapat hawakan ng kanilang solusyon ang HTTP. Pinapayagan ng ganitong uri ng arkitektura para sa mahusay na kakayahang umangkop at pagpapasadya.

Ang pinaka pangunahing module ng Apache ay mpm_prefork. Ito ay nagpapatakbo sa solong-thread na lohika, kung saan ang bawat proseso ng server ay humahawak ng isang kahilingan sa web sa isang pagkakataon. Ito ang inirekumendang module para sa mga proyekto sa web na nakabase sa wika ng script ng PHP. Ang isa pang module ng Apache ay mpm_worker, na sumusuporta sa maraming mga thread nang sabay. Makakatulong ito sa Apache na maging mas mahusay at nasusukat. Ang huling pangunahing module ng Apache, mpm_event, ay nagpapatakbo sa isang katulad na fashion bilang mpm_worker ngunit nagdaragdag ng mas mahusay na suporta para sa mga patuloy na buhay na koneksyon, na isang kahilingan para sa maraming modernong mga aplikasyon sa web.

Ang NGINX ay tiyak na nakikilala ang sarili mula sa Apache sa mga tuntunin ng arkitektura. Ito ay batay sa paligid ng konsepto ng operasyon na hinihimok ng kaganapan sa halip na gumamit ng mga proseso o mga thread. Ang ibig sabihin nito ay ang isang solong manggagawa NGINX ay maaaring hawakan ang libu-libong mga koneksyon sa HTTP nang sabay.

Ang NGINX ay nakasalalay sa isang looping system na nagbibigay-daan sa mga manggagawa upang mabilis na pumili ng mga bagong kahilingan sa bawat oras na ang isang kaganapan ay na-trigger. Ang mga kaganapan ay pinoproseso nang hindi sinasadya, nangangahulugang hindi nila kailangang maghintay para sa iba pang mga kaganapan na itinalaga nang sunud-sunod.

Pangangasiwa ng Nilalaman

Sa mga araw na ito, ang nilalaman ng web ay nahuhulog sa isa sa dalawang kategorya: static o dynamic. Kasama sa static na nilalaman ang anumang bagay sa isang webpage na nananatiling pare-pareho kahit papaano ginagamit ang site. Halimbawa, ang isang logo ng kumpanya sa tuktok ng isang website ay isang piraso ng static na nilalaman. Ang dinamikong nilalaman, sa kabilang banda, ay kinokontrol ng mga wika ng script tulad ng PHP at magbabago batay sa sesyon ng isang gumagamit o iba pang mga variable. Ang mga email site, banking site, at mga social network ay lahat ay umaasa sa mga dynamic na nilalaman upang maipakita sa mga gumagamit ang kanilang mga indibidwal na data.

Ang Apache ay maaari lamang maghatid ng static na nilalaman sa isang solong-thread na batayan, na ginagawang NGINX na isang mas nakakagambalang solusyon para sa mga proyekto sa web na nangangailangan ng isang malaking halaga ng static na nilalaman na naihatid nang mabilis. Gayunpaman, nag-aalok ang Apache ng ilang mga benepisyo pagdating sa dynamic na nilalaman. Madali itong isinasama sa PHP at maaaring mag-embed ng isang scripting processor nang direkta sa manggagawa ng HTTP. Ang pangunahing pakete ng NGINX software ay hindi kasama ang suporta para sa mga dynamic na paghahatid ng nilalaman, kaya kakailanganin mong magdagdag ng isang panlabas na processor sa iyong software stack upang suportahan ito.

Paghahambing sa Pagganap

Ang mga panloob na bisita sa iyong website ay hindi pakialam kung anong uri ng HTTP server ang ginagamit mo sa backend. Nababahala lamang sila sa pag-access ng iyong nilalaman nang mabilis at maaasahan. Para sa kadahilanang ito, ang pagganap ay dapat na pangunahing sukatan upang isaalang-alang kapag sinusuri ang parehong Apache at NGINX bilang mga pagpipilian sa web hosting.

Salamat sa arkitektura na hinihimok ng kaganapan, ang NGINX ay karaniwang itinuturing na pinakamabilis na solusyon sa HTTP. Tumatakbo ito sa minimal na mga mapagkukunan, kahit na ang iyong web traffic ay lumalaki sa paglipas ng panahon. Nagreresulta ito sa mababang memorya at paggamit ng CPU, samantalang ang Apache ay maaaring mangailangan ng higit na paggamit ng hardware sa mga oras ng pagtaas ng pagkarga.

Dali ng Pagpapatupad

Kapag naka-install sa isang web server bilang bahagi ng LAMP software stack, ang Apache HTTP host ay hindi kapani-paniwalang simple upang i-configure at tumakbo. Karamihan sa mga administrator ay hindi kailangang baguhin ang mga setting ng multi-processing module. Karamihan sa pagpapasadya ng Apache ay magaganap sa antas ng direktoryo sa kung ano ang kilala bilang .htaccess na mga file.

Pinapayagan ka ng mga maliliit na item na teksto na magsulat ka ng mga patakaran at direksyon para sa kung paano dapat hawakan ng server ng HTTP ang ilang mga uri ng mga kahilingan. Halimbawa, maaari mong i-on ang muling pagsulat ng URL upang ang isang tukoy na web address sa iyong domain ay mag-load ng mga mapagkukunan mula sa ibang lokasyon. Madalas itong ginagamit sa mga website ng social media kung saan lumilitaw ang “/ username” sa dulo ng isang URL.

Ang NGINX ay hindi sumusuporta sa mga file ng htaccess o iba pang pagsasaayos sa isang antas ng direktoryo. Ginagawa nitong mas mabilis at mas ligtas ang pagproseso ng kahilingan, ngunit nililimitahan pa rin ang kontrol na mayroon ng isang tagapangasiwa ng system.

Kakayahan at Suporta

Ang mga server ng HTTP ay karaniwang tumatakbo sa mga operating system na batay sa UNIX, lalo na ang mga open-source na platform ng Linux. Ito ay para sa kapakanan ng bilis, dahil ang UNIX ay itinuturing na ang pinaka mahusay na operating system na magagamit. Ang parehong Apache at NGINX ay maaaring mai-install sa mga tanyag na pamamahagi ng Linux tulad ng Ubuntu o BSD.

Nag-aalok din ang Apache ng buong suporta para sa operating system ng Microsoft Windows Server. Ang NGINX ay maaaring mai-configure upang tumakbo sa Windows ngunit sa pangkalahatan ay itinuturing na hindi gaanong matatag. Kung ang iyong samahan ay eksklusibo na nagpapatakbo ng Windows sa mga web server nito, ang Apache ang magiging lohikal na pagpipilian.

Ang Apache ay may isang matatag na portal ng dokumentasyon sa online na may mga tala ng paglabas, mga manual na sanggunian, mga gabay sa gumagamit, at mga tutorial upang matulungan kang mai-install ang Apache sa iyong kapaligiran sa ulap at simulang gamitin ito para sa isang web application. Nag-aalok ang NGINX ng isang katulad na uri ng imbakan ng dokumentasyon na sumasaklaw sa pangunahing pagsasaayos pati na rin isang mas detalyadong gabay sa pag-unlad.

Buod

Ang Apache at NGINX ay parehong sikat na mga solusyon sa server ng HTTP sa modernong mundo ng cloud computing. Karamihan sa mga pinakamahusay na kumpanya ng pagho-host sa Canada ay gumagamit ng Apache at NGINX.

Ang pagpasok ng alinman sa iyong pag-unlad na stack ay isang matalinong pagpipilian, dahil magbibigay sila ng matatag na pagganap at pagiging maaasahan.

Kung ang bilis ay ang iyong pangunahing prayoridad at ang iyong website ay magho-host ng isang malaking halaga ng static na nilalaman, kung gayon ang NGINX ay maaaring ang pinakamahusay na pagpipilian. Ito rin ang nagiging piniling pagpipilian sa mga koponan ng pag-unlad na nagtatayo ng isang arkitektura ng microservice na may maraming mga subsystem na nakikipag-ugnay sa bawat isa. Sa kabilang banda, ang mga maliliit na developer o bagong dating ay maaaring mas mahusay na malagkit sa Apache dahil mas madaling mag-set up at ma-pre-configure na may mga third-party na mga stack ng software tulad ng LAMP.

Ang isang bagay na dapat tandaan ay hindi mo kinakailangang pumili sa pagitan ng Apache at NGINX at kalimutan ang tungkol sa isa pa. Sa katunayan, ang dalawang solusyon ay madalas na ginagamit nang magkakasabay upang maihatid ang pinakamahusay na posibleng karanasan sa web hosting. Sa set ng NGINX bilang iyong unang web proxy, ang mga kahilingan ay maaaring maiproseso nang mabilis at maipadala sa isang manggagawa ng Apache sa pagtatapos ng aplikasyon. Mula doon, maaaring isama ng Apache ang PHP o isa pang wika ng script upang ihanda ang tugon ng web at ibalik ito sa layer ng NGINX.

Siguraduhin na gawin ang iyong pananaliksik kapag pumipili ng isang solusyon sa server ng HTTP. Ang iyong napiling sistema ay magiging bahagi ng gulugod ng iyong website o aplikasyon at magiging kritikal sa pang-araw-araw na karanasan ng iyong mga gumagamit.

Maaari mo ring Gustong:

  • Pinakamagandang Web Hosting
  • Pinakamahusay na Tagabuo ng Website

Mga sanggunian at mga kredito ng imahe:

  • 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