×

WEB服務(wù)器該選擇 Apache 還是 Nginx?

  • 作者:新網(wǎng)
  • 來源:新網(wǎng)
  • 瀏覽:100
  • 2018-02-23 17:32:44

Web服務(wù)器一般指網(wǎng)站服務(wù)器,是指駐留于因特網(wǎng)上某種類型計(jì)算機(jī)的程序,可以向?yàn)g覽器等Web客戶端提供文檔。你可以放置網(wǎng)站文件,讓全世界瀏覽;可以放置數(shù)據(jù)文件,讓全世界下載。目前最主流的三個(gè)Web服務(wù)器是Apache Nginx IIS。那么WEB服務(wù)器如何選擇 Apache or Nginx?

 Web服務(wù)器一般指網(wǎng)站服務(wù)器,是指駐留于因特網(wǎng)上某種類型計(jì)算機(jī)的程序,可以向?yàn)g覽器等Web客戶端提供文檔。你可以放置網(wǎng)站文件,讓全世界瀏覽;可以放置數(shù)據(jù)文件,讓全世界下載。目前最主流的三個(gè)Web服務(wù)器是Apache Nginx IIS。那么WEB服務(wù)器如何選擇 Apache or Nginx?

5932b7111df1a780163e9bba2e47944a.jpg
1.簡介
 
Apache:
 
Apache創(chuàng)建于1995年,并從 1999 年開始在 Apache 軟件基金會(huì)旗下進(jìn)行開發(fā)。Apache靈活、高效,擁有豐富的擴(kuò)展模塊,以及活躍的社區(qū)支持,成為目前世界上最為主流的開源免費(fèi)的Web服務(wù)器軟件。
 
Nginx:
 
Nginx是由俄羅斯軟件工程師Igor Sysoev編寫的免費(fèi)開源Web服務(wù)器。自從2004年上市以來,nginx專注于高性能,高并發(fā)性和低內(nèi)存使用。并且其在負(fù)載均衡,緩存,訪問和帶寬控制以及與各種應(yīng)用程序高效集成等方面的特性,都使得它逐步深受廣大用戶青睞。
 
2.對(duì)比
 
雖然Apache和Nginx各自的背景不同,但他們的作用目的是一致的,簡單說就是接收用戶請(qǐng)求,然后處理請(qǐng)求,最后將處理結(jié)果返回給用戶。
 
01.鏈接處理
 
Apache和Nginx最大的不同在于它們對(duì)連接的處理方式。Apache提供一系列多重處理模塊,通過這些多重處理模塊來使用操作系統(tǒng)的資源,對(duì)進(jìn)程和線程池進(jìn)行管理,控制處理用戶請(qǐng)求。
 
Apache提供了三種多重處理模塊:mpm_prefork、mpm_worker、mpm_envent,下面我們做簡要說明對(duì)比。
 
mpm_prefork:模塊產(chǎn)生眾多子進(jìn)程,每個(gè)子進(jìn)程是單線程的,每個(gè)線程鏈接一個(gè)請(qǐng)求,如此一對(duì)一的關(guān)系。所以如果請(qǐng)求數(shù)大于進(jìn)程數(shù)時(shí),服務(wù)器的性能就表現(xiàn)得差強(qiáng)人意了。
 
mpm_worker:與prefork不同,worker中子進(jìn)程是多線程的,每個(gè)線程管理一個(gè)用戶連接。線程數(shù)要多于進(jìn)程數(shù)量,這也就意味著新的連接能立刻得到一個(gè)空閑的線程,而不用等待進(jìn)程空閑。
 
mpm_event:該模塊與worker相似,區(qū)別在于event可以處理長連接(keep-alive),以避免線程被請(qǐng)求長期占用而造成資源浪費(fèi),同時(shí)也增強(qiáng)了高并發(fā)場景下的請(qǐng)求處理能力。
 
02.靜態(tài)與動(dòng)態(tài)內(nèi)容的處理
 
無論是靜態(tài)還是動(dòng)態(tài)內(nèi)容,Apache都可以處理,Apache具有內(nèi)置的解析和執(zhí)行各種動(dòng)態(tài)腳本語言(包括PHP,Python和Perl)的功能,無需借助外部處理器。
 
毫無疑問,動(dòng)態(tài)內(nèi)容處理恐怕是Nginx的痛點(diǎn)。Nginx處理動(dòng)態(tài)內(nèi)容的效率并不高,且需借助外部的處理器。所以如果您的站點(diǎn)具有很多動(dòng)態(tài)功能,Apache的表現(xiàn)可能會(huì)更切合你意。不過雖然與Apache相比Nginx的動(dòng)態(tài)內(nèi)容處理能力不佳,但其靜態(tài)內(nèi)容處理還是很高效的。
 
3.總結(jié)
 
Apache擁有豐富的模塊組件支持,穩(wěn)定性強(qiáng),BUG少,動(dòng)態(tài)內(nèi)容處理強(qiáng)。
 
Nginx輕量級(jí),占用資源少,負(fù)載均衡,高并發(fā)處理強(qiáng),靜態(tài)內(nèi)容處理高效。
 
以上就是小編對(duì)于WEB服務(wù)器還選擇 Apache 還是 Nginx的解答。
 

免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費(fèi)咨詢獲取折扣

Loading