Apache at Nginx

Anonim

Ang Apache at Nginx (binibigkas "engine-x") ang mga nangungunang manlalaro sa negosyo ng web server. Magkasama, sila ay nagkakaroon ng halos 50 porsiyento ng trapiko sa web. Ang pagiging ang dalawang pinaka-karaniwang at tanyag na open source web server, nagtatrabaho sila patungo sa karaniwang layunin - iyon ay upang alagaan ang iba't ibang mga workload upang matugunan ang mga pangangailangan ng iba't ibang mga kapaligiran para sa mga modernong operating system kabilang ang Windows at UNIX. Habang Apache ay isang matatag na pangalan sa negosyo ng web server, Nginx ay nagkaroon ng mga kamay na puno ng maraming mga website at ang rate kung saan ito ay pamamahala ng trapiko sa web, walang naghahanap likod. Ito ay totoo na ang parehong mga web server ay hindi maaaring mapalitan ng bawat isa, ngunit mayroon sila ng kanilang makatarungang bahagi ng mga kalamangan at kahinaan.

Ano ang Apache?

Ang Apache HTTP Server o napupunta lamang sa pamamagitan ng "Apache", ay ang open-source na mataas na pagganap ng web server software na binuo at pinanatili ng isang kasunduan ng mga developer sa ilalim ng sponsorship ng Apache Software Foundation. Ito ay isang collaborative na proyektong web server na dinisenyo upang lumikha ng isang matatag, secure, at mahusay na komersyal na grado sa web server na sumusunod sa kasalukuyang mga pamantayan ng HTTP. Ito ay isang pinagsamang proyekto na pinamamahalaan ng isang bukas na komunidad ng mga boluntaryo na matatagpuan sa buong mundo upang bumuo ng HTTP web server at ang kasamang dokumentasyon nito gamit ang internet. Si Apache ay naging prominenteng pinuno sa merkado ng web server simula noong debut nito noong 1995. Ito ang naitala sa 100 milyong website sa 2009.

Ang Apache ay nananatiling ang unang pagpipilian sa mga tagapangasiwa ng server dahil sa kompatibilidad ng kapangyarihan nito at suporta sa multi-platform. Kahit na, ang Apache ay tumatakbo nang mahusay sa halos lahat ng pangunahing operating system kabilang ang Windows, Linux, UNIX, OSX, at NetWare, karaniwan itong ginagamit sa kumbinasyon ng Linux. Ang arkitektura ng pagiging simple at kakayahang umangkop nito ay naging isang tanyag na pagpipilian sa mga administrador dahil nagkaroon ng isang tiyak na uhaw sa mga unang komunidad upang magpabago at mag-eksperimento sa mga bagong teknolohiya, at ang Apache ay tama sa gitna nito. Si Apache ay naging gulugod ng World Wide Web. Ngunit iyan nga. Tulad ng napupunta ang lumang kasabihan, kapag ikaw ay nasa tuktok ang tanging paraan ay bumaba.

Ano ang Nginx?

Sinasabi nila ang pagkawala ng isa sa pakinabang ng iba. Ito ang eksaktong nangyari. Ang malakas na kalagayan ni Apache ay na-hit ng potensyal na karibal nito, Nginx. Ang isa sa mga una sa mga naunang contenders na makatanggap ng isang buong mundo pagkilala, Nginx ay din ng isang matatag na web server platform na dinisenyo upang maglingkod sa mga modernong pangangailangan sa web. Binuo ng nag-develop ng Russian na si Igor Sysoev, Nginx ay isang libre, open-source HTTP server na maaari ring magamit bilang reverse proxy, proxy ng mail, at generic na TCP / UDP proxy server. Nakatuon ito sa paghahatid ng malaking bilang ng mga kasabay na mga gumagamit nang mahusay at may kaunting mapagkukunan. Sa panahong ang paghawak ng napakalaking trapiko sa web ay imposible, ang Nginx ay nagligtas.

Kahit na, ang Nginx ay hindi maaaring makipagkumpitensya laban sa mayaman na tampok na Apache sa maraming mga front, ang kanyang asynchronous na katayuan at single-threaded na arkitektura ay ginagawa itong isang matalinong pagpili sa Apache. Madalas itong ginusto ng mga tagapangasiwa para sa kahusayan ng mapagkukunan, magaan na arkitektura, at mataas na concurrency. At ang pinakamagandang bahagi, maaari itong i-deploy bilang isang nakapag-iisang HTTP server upang mapagbuti ang arkitektura ng web server gamit ang kaunting mapagkukunan. Dagdag nito kakayahang maghatid ng static na trapiko nang mabilis at mahusay na may limitadong mga mapagkukunan ng hardware ay walang kapantay. Bukod pa rito, ang Nginx ay maaari ding maging isang potensyal na shock absorber, na mapoprotektahan ang mga server ng Apache mula sa biglaang mga spike sa trapiko at mga kahinaan sa seguridad. Sa maikling salita, ang Nginx ay nagbibigay ng lahat ng mga pangunahing tampok ng HTTP server nang hindi sinasakripisyo ang kakayahan nito upang mahawakan ang maramihang kahilingan na may limitadong mga mapagkukunan ng hardware.

Pagkakaiba sa pagitan ng Apache at Nginx

  1. Habang ang parehong Apache at Nginx ay dalawang pangunahing manlalaro sa negosyo ng web server na sumasaklaw ng 50 porsiyento ng trapiko ng web sa internet, iba ang mga ito sa bawat isa. Ang Apache ay isang open-source HTTP server samantalang ang Nginx ay isang high-performance asynchronous web server at reverse proxy server.
  2. Ang suporta, pag-aayos ng bug, at pag-unlad ng application sa Apache HTTP server ay pinamamahalaan at pinapanatili ng isang komunidad ng mga gumagamit mula sa buong mundo at pinagsama-sama ng Apache Software Foundation. Ang suporta at pagpapanatili ng Nginx ay hinahawakan ng isang kumpanya ng parehong pangalan na itinatag noong 2011.
  3. Ang pangunahing pagkakaiba sa pagitan ng dalawa ay ang paraan ng parehong hawakan ang mga kahilingan ng kliyente. Habang nagbibigay ang Apache ng iba't ibang modules ng multiprocessing upang mahawakan ang mga kahilingan ng client at trapiko sa web, ang Nginx ay dinisenyo upang hawakan ang maramihang mga kahilingan ng client nang sabay-sabay na may minimal na mapagkukunan ng hardware.
  4. Sa Apache HTTP server, ang isang thread ay nauugnay lamang sa isang koneksyon, samantalang ang isang solong thread sa Nginx ay maaaring mangasiwa ng maraming koneksyon. Ang lahat ng mga proseso ay inilalagay sa loop ng kaganapan kasama ang iba pang mga koneksyon at pinamamahalaang asynchronously. Ang prosesong ito ay kumokonsumo ng mas kaunting memorya at sa gayon ang pagtaas ng pagganap
  5. Apache ay may isang multi-sinulid architecture na lacks scalability. Nginx, sa kabilang banda, sinusundan ng isang asynchronous na diskarteng kaganapan na hinimok upang mahawakan ang maramihang mga kahilingan ng client. Ang arkitekturang hinimok ng kaganapan ay dinisenyo upang mapadali ang mas mahusay na pagganap kahit na sa ilalim ng mabigat na trapiko.
  6. Naghahain ang Apache ng static na nilalaman gamit ang maginoo na mga pamamaraan at nagpoproseso ng dynamic na nilalaman natively sa loob mismo ng web server.Nginx, sa kabilang banda, ay walang kakayahan na maproseso ang dynamic na nilalaman sa loob. Sa katunayan, nakasalalay ito sa mga panlabas na proseso para sa pagpapatupad.

Apache vs. Nginx: Tsart ng Paghahambing

Apache Nginx
Sumusunod ang Apache multi-threaded na diskarte upang maproseso ang mga kahilingan ng client. Ang Nginx ay gumagamit ng diskarte na hinimok ng kaganapan upang maghatid ng mga kahilingan ng client.
Pinangangasiwaan nito ang dynamic na nilalaman sa loob mismo ng web server. Hindi nito maproseso ang dynamic na nilalaman natively.
Hindi nito maproseso ang maraming mga kahilingan na kasabay ng mabigat na trapiko sa web. Maaari itong iproseso ang maramihang mga kahilingan ng client nang sabay-sabay at mahusay na may limitadong mga mapagkukunan ng hardware.
Ang mga modyul ay pabago-bago o nabura na ginagawang mas nababaluktot. Ang mga module ay hindi mai-load nang magilas. Sila ay dapat na naipon sa loob mismo ng pangunahing software.
Ang Apache ay idinisenyo upang maging isang web server. Nginx ay parehong isang web server at isang proxy server.
Ang isang thread ay maaari lamang iproseso ang isang koneksyon. Maaaring pangasiwaan ng isang thread ang maraming koneksyon.

Buod sa Apache vs. Nginx

Parehong Apache at Nginx ay bukas-pinagmulan ng mataas na pagganap na mga web server na may kakayahang paghawak ng magkakaibang workload upang bigyang-kasiyahan ang mga pangangailangan ng mga modernong hinihingi ng web. Sila ay conceptually malapit sa bawat isa, ngunit malapit rivals sa negosyo ng web server. Apache ay naging nangunguna sa ecosystem ng web server sa loob ng 20 taon at mas popular, gayunpaman, ang Nginx ay hindi walang makatarungang bahagi ng mga pakinabang nito. Habang ang Apache ay isang bagay ng nakaraan, Nginx ang hinaharap ng mga web app at mga website.