NginxvsApache兩大web服務(wù)器比較

互聯(lián)網(wǎng)從90年代開始席卷全球,現(xiàn)如今基本上所有業(yè)務(wù)都可以在互聯(lián)網(wǎng)上完成,互聯(lián)網(wǎng)已經(jīng)成為我們生活中不可或缺的一部分。成都網(wǎng)站制作公司

10年的富川網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整富川建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“富川網(wǎng)站設(shè)計(jì)”,“富川網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

那么互聯(lián)網(wǎng)web協(xié)議是怎樣的呢?可以概括為訪問者從給定的Web站點(diǎn)請(qǐng)求文檔,而DNS和IP系統(tǒng)將該請(qǐng)求轉(zhuǎn)發(fā)到正確的計(jì)算機(jī)。這臺(tái)托管請(qǐng)求的網(wǎng)頁(yè)的計(jì)算機(jī)將把網(wǎng)頁(yè)提供給訪問者。

網(wǎng)頁(yè)本質(zhì)上是HTML文檔。為了能夠向訪問者提供不同的網(wǎng)頁(yè),提供服務(wù)的機(jī)器需要一個(gè)服務(wù)器程序。Nginx和Apache就是這個(gè)提供服務(wù)的的軟件程序,它們可以處理請(qǐng)求進(jìn)行分析,然后將用戶所需要的文檔信息返回給訪問者。

Nginx與Apache

Nginx和Apache都是非常??流行的Web服務(wù)器。

Apache于1995年首次發(fā)布,Nginx于2004年發(fā)布。

兩者都被全球500強(qiáng)的大型公司使用。

Nginx的市場(chǎng)份額多年來(lái)一直在穩(wěn)定增長(zhǎng)。

在某些情況下,Nginx在性能方面更具有競(jìng)爭(zhēng)優(yōu)勢(shì)。

Apache

隨著蒂姆伯納斯李創(chuàng)建了html,之后Apache就占據(jù)著web服務(wù)器的主導(dǎo)地位。現(xiàn)在發(fā)行的linux服務(wù)器,無(wú)論是redhat還是ubuntu,apache都是默認(rèn)自帶的服務(wù)器,因此,很多人都是使用Apache來(lái)進(jìn)行web開發(fā)的,畢竟人家操作系統(tǒng)已經(jīng)給你提供好了。成都網(wǎng)站建設(shè)公司

apache受歡迎的一個(gè)點(diǎn)就是他的.htacess文件配置管理。

Apache使用.htaccess進(jìn)行配置,它為處理傳入請(qǐng)求的方式提供了很大的靈活性。不同的重定向規(guī)則,大上傳文件大小,URL重寫,內(nèi)存限制,目錄保護(hù),header頭信息,cookie,查詢字符串操作。

在服務(wù)器根目錄中,目錄樹中的每個(gè)級(jí)別或目錄都可以具有自己的.httaccess文件,并具有自己的配置。

對(duì)于共享主機(jī)提供商,這是一個(gè)夢(mèng)想,因?yàn)樗麄兛梢栽谕慌_(tái)計(jì)算機(jī)上為數(shù)百個(gè)用戶提供一種配置其網(wǎng)站服務(wù)方式的方式,而不會(huì)影響其他網(wǎng)站??蛻艨梢栽谑芟薜墓蚕硗泄墉h(huán)境中配置許多詳細(xì)信息,而無(wú)需接觸全局服務(wù)器配置。

但是,這種靈活性是以性能為代價(jià)的:“無(wú)論您實(shí)際上是否使用它們,允許.htaccess文件都會(huì)導(dǎo)致性能下降!”

每次啟用.htaccess文件時(shí),Apache都必須從請(qǐng)求的URL或文件中遍歷整個(gè)目錄樹,直到所有的更高級(jí)別,直到服務(wù)器的根目錄,然后針對(duì)每個(gè)請(qǐng)求加載它們。

apache還有一個(gè)受歡迎的點(diǎn)是他的模塊機(jī)制。

Apache便允許用戶安裝模塊,然后根據(jù)需要啟用/禁用它們。

apahce有很多好用的模塊,比如壓縮,加密,日志記錄,重定向到更高級(jí)的內(nèi)容,例如使用高級(jí)語(yǔ)法編輯請(qǐng)求和響應(yīng),正是有了這些模塊,才讓Apache處理請(qǐng)求更加多樣化。

nginx

Nginx(也稱為nginx或NGINX)是在2004年由俄羅斯開發(fā)人員Igor Sysoev首次公開發(fā)行的。

Nginx是專門為解決Apache Web服務(wù)器的性能限制而編寫的。

Nginx發(fā)布后,主要用于提供靜態(tài)文件,并在Apache安裝之前用作負(fù)載平衡器或反向代理。 隨著網(wǎng)絡(luò)的發(fā)展以及對(duì)速度和硬件使用效率的高要求,越來(lái)越多的網(wǎng)站開始使用Nginx完全替換Apache,這也要?dú)w功于更成熟的軟件。

現(xiàn)在市場(chǎng)上nginx的份額已經(jīng)超過(guò)了Apache,很多大公司都開始采用nginx作為后端的web服務(wù)器,有些大公司甚至?xí)薷膎ginx的部分代碼來(lái)使用,比如我們熟知的Tengine。

nginx最初設(shè)計(jì)的時(shí)候就是模塊化的思想,它的所有功能都是采用模塊形式提供的,需要什么功能,只要對(duì)應(yīng)加載相應(yīng)的模塊就可以。

nginx一直都在全速發(fā)展著,目前最新的web技術(shù)quic和http3也已經(jīng)在最新版的nginx中提供實(shí)現(xiàn)了。成都網(wǎng)站建設(shè)公司

緩存

apahce和nginx都提供了緩存功能。apache有mod_cache模塊,nginx也有fastcgi緩存??梢哉f(shuō)沒有緩存的web系統(tǒng)幾乎不可能支撐如今高訪問的情況。當(dāng)然,說(shuō)道緩存,最專業(yè)的還是Varnish HTTP。不過(guò)因?yàn)閚ginx可以和它完美地結(jié)合,所以這也是越來(lái)越多人擁抱nginx的一個(gè)理由。

apache和nginx處理請(qǐng)求方式

apache和nginx大的不同在于它們處理請(qǐng)求的方式。

apache使用MPM(Multi-Processing-Modules)處理請(qǐng)求。

早期的mpm是prefork模塊。在這種模式下,Apache會(huì)在每個(gè)請(qǐng)求中生成一個(gè)線程的新進(jìn)程。該模塊與mod_php一起使用,意味著Apache服務(wù)器在每個(gè)進(jìn)程中都嵌入了一個(gè)PHP解釋器,雖然可能這個(gè)請(qǐng)求只是請(qǐng)求css等靜態(tài)文件。這是非常低效的。

在后來(lái)的幾年中,Apache開發(fā)了多線程工作程序mpm,之后又開發(fā)了事件mpm。它們都減輕了許多Apache的性能問題。切換到php-fpm使得Apache仍然可以成為當(dāng)今競(jìng)爭(zhēng)性的解決方案,并且消除了.htaccess的使用,這讓apache的處理效率提升了很多。

Nginx使用異步,非阻塞事件來(lái)處理請(qǐng)求。

簡(jiǎn)而言之,Apache對(duì)每個(gè)連接都使用進(jìn)程(對(duì)于worker mpm,它使用線程)。隨著流量的增加,它很快變得太昂貴了。成都網(wǎng)站建設(shè)公司

事件mpm在優(yōu)化方面更進(jìn)一步,但是一些測(cè)試表明它不能超過(guò)Nginx。尤其是當(dāng)我們談?wù)撿o態(tài)文件時(shí),Nginx的服務(wù)量是Apache的兩倍。

Nginx理想情況下,每個(gè)CPU /內(nèi)核只有一個(gè)工作進(jìn)程。 Nginx工作進(jìn)程的區(qū)別在于,每個(gè)工作進(jìn)程可以處理每個(gè)工作進(jìn)程成千上萬(wàn)的傳入網(wǎng)絡(luò)連接。無(wú)需為每個(gè)連接創(chuàng)建新的線程或進(jìn)程。

總結(jié)

從目前的的發(fā)展眼光來(lái)看,nginx卻是比apache的性能更優(yōu)越,而且有越來(lái)越多的輔助插件構(gòu)建在nginx上面,所以,如果你的web項(xiàng)目剛起步,建議您選擇nginx來(lái)作為服務(wù)器,它可以給你提供更優(yōu)秀的性能體驗(yàn),當(dāng)然,對(duì)于中小型項(xiàng)目來(lái)說(shuō),apahce依然也是不錯(cuò)的選擇。特別是他的.htaccess確實(shí)非常好用。

當(dāng)前題目:NginxvsApache兩大web服務(wù)器比較
文章路徑:http://muchs.cn/article18/gggp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司移動(dòng)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)App開發(fā)、虛擬主機(jī)、微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)