Web服務(wù)器是直接影響網(wǎng)站性能的關(guān)鍵因素,也是每個站長選擇網(wǎng)站運(yùn)營環(huán)境時必然考慮的問題。目前Web服務(wù)器市場產(chǎn)品眾多,最為主流和代表性的當(dāng)屬Apache、Nginx以及微軟的IIS。本文目的是通過Apache和Nginx進(jìn)行對比,從而幫助廣大用戶們能夠選擇適合自己的Web服務(wù)器。
10多年專注成都網(wǎng)站制作,成都定制網(wǎng)站,個人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設(shè)計流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都定制網(wǎng)站,高端網(wǎng)頁制作,對邊坡防護(hù)網(wǎng)等多個方面,擁有多年的網(wǎng)站維護(hù)經(jīng)驗(yàn)。1.簡介
Apache:成都服務(wù)器托管
Apache創(chuàng)建于1995年,并從 1999 年開始在 Apache 軟件基金會旗下進(jìn)行開發(fā)。Apache靈活、高效,擁有豐富的擴(kuò)展模塊,以及活躍的社區(qū)支持,成為目前世界上最為主流的開源免費(fèi)的Web服務(wù)器軟件。
Nginx:成都服務(wù)器托管
Nginx是由俄羅斯軟件工程師Igor Sysoev編寫的免費(fèi)開源Web服務(wù)器。自從2004年上市以來,nginx專注于高性能,高并發(fā)性和低內(nèi)存使用。并且其在負(fù)載均衡,緩存,訪問和帶寬控制以及與各種應(yīng)用程序高效集成等方面的特性,都使得它逐步深受廣大用戶青睞。
下面是2017年11月份更新的web服務(wù)器市場份額對比圖:成都服務(wù)器托管
數(shù)據(jù)來源:https://news.netcraft.com/archives/2017/11/21/november-2017-web-server-survey.html
2.對比
雖然Apache和Nginx各自的背景不同,但他們的作用目的是一致的,簡單說就是接收用戶請求,然后處理請求,***將處理結(jié)果返回給用戶。
01.鏈接處理
Apache和Nginx***的不同在于它們對連接的處理方式。Apache提供一系列多重處理模塊,通過這些多重處理模塊來使用操作系統(tǒng)的資源,對進(jìn)程和線程池進(jìn)行管理,控制處理用戶請求。
Apache提供了三種多重處理模塊:mpm_prefork、mpm_worker、mpm_envent,下面我們做簡要說明對比。
mpm_prefork:模塊產(chǎn)生眾多子進(jìn)程,每個子進(jìn)程是單線程的,每個線程鏈接一個請求,如此一對一的關(guān)系。所以如果請求數(shù)大于進(jìn)程數(shù)時,服務(wù)器的性能就表現(xiàn)得差強(qiáng)人意了。成都網(wǎng)站建設(shè)公司
mpm_worker:與prefork不同,worker中子進(jìn)程是多線程的,每個線程管理一個用戶連接。線程數(shù)要多于進(jìn)程數(shù)量,這也就意味著新的連接能立刻得到一個空閑的線程,而不用等待進(jìn)程空閑。
mpm_event:該模塊與worker相似,區(qū)別在于event可以處理長連接(keep-alive),以避免線程被請求長期占用而造成資源浪費(fèi),同時也增強(qiáng)了高并發(fā)場景下的請求處理能力。
與Apache不同,Nginx是通過異步的、非阻塞的、事件驅(qū)動的方式在實(shí)現(xiàn)的。Nginx的工作進(jìn)程是單線程的,每個線程可以異步的處理大量的用戶請求。下面是Nginx的工作原理圖:成都服務(wù)器托管
圖片來源:http://www.aosabook.org/en/nginx.html
02.靜態(tài)與動態(tài)內(nèi)容的處理
無論是靜態(tài)還是動態(tài)內(nèi)容,Apache都可以處理,Apache具有內(nèi)置的解析和執(zhí)行各種動態(tài)腳本語言(包括PHP,Python和Perl)的功能,無需借助外部處理器。
毫無疑問,動態(tài)內(nèi)容處理恐怕是Nginx的痛點(diǎn)。Nginx處理動態(tài)內(nèi)容的效率并不高,且需借助外部的處理器。所以如果您的站點(diǎn)具有很多動態(tài)功能,Apache的表現(xiàn)可能會更切合你意。不過雖然與Apache相比Nginx的動態(tài)內(nèi)容處理能力不佳,但其靜態(tài)內(nèi)容處理還是很高效的。
3.總結(jié)
Apache擁有豐富的模塊組件支持,穩(wěn)定性強(qiáng),BUG少,動態(tài)內(nèi)容處理強(qiáng)。
Nginx輕量級,占用資源少,負(fù)載均衡,高并發(fā)處理強(qiáng),靜態(tài)內(nèi)容處理高效。
存在即有道理,Apache和Nginx作為WEB服務(wù)各有所長,個人認(rèn)為二者并不存在將來誰會完全替代誰。關(guān)鍵在于用戶要認(rèn)真考慮清楚自己的應(yīng)用場景,根據(jù)自己的需求和情況來斟酌選擇哪個產(chǎn)品,適合自己的才是最好的。
分享標(biāo)題:Web服務(wù)器如何選擇ApacheorNginx?
網(wǎng)站URL:http://www.rwnh.cn/article36/sjgsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、服務(wù)器托管、網(wǎng)站建設(shè)、Google、定制網(wǎng)站、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)