在Apache和Nginx兩者web服務(wù)器中如何選擇適合的網(wǎng)站服務(wù)器?

[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!

前端時(shí)間寫過一篇文章 關(guān)于網(wǎng)站服務(wù)器的?常用的web服務(wù)器(windows+Linux)軟件有哪些?常用的12款Web服務(wù)器(windows+Linux)軟件整理; 今天有人又問老梁ApacheNginx兩者web服務(wù)器咋選擇,這也確實(shí)是一個(gè)事兒;

還是先來說說什么是web服務(wù)器(網(wǎng)站服務(wù)器)

簡單來說,web服務(wù)器是網(wǎng)站服務(wù)器,可以放置網(wǎng)站所需要的文件、應(yīng)用以及程序等,以供所有用戶進(jìn)行瀏覽。Web服務(wù)器的使用是為了讓網(wǎng)絡(luò)中的信息實(shí)現(xiàn)共享,互聯(lián)網(wǎng)上的任意用戶都可以下載與上傳以及向?yàn)g覽器等客戶端上傳文檔等。

Web服務(wù)器是基于TCP/IP協(xié)議下的HTTP協(xié)議的,可以向發(fā)出請求的瀏覽器提供文檔的程序。HTTP協(xié)議屬于應(yīng)用層協(xié)議,主要特點(diǎn)是支持客戶/服務(wù)器模式;簡單快速;靈活;無連接;無狀態(tài)。

Web服務(wù)器是直接影響網(wǎng)站性能的關(guān)鍵因素,也是每個(gè)站長選擇網(wǎng)站運(yùn)營環(huán)境時(shí)必然考慮的問題。Web服務(wù)器大致有 IIS、Kangle、WebSphere、WebLogic、Apache、Tomcat、Nginx以及Jboss等幾類。

在這其中使用較多是微軟的IIS服務(wù)器、Nginx以及Apache,同時(shí)這三類web服務(wù)器也是當(dāng)前主流并且具有代表性的web服務(wù)器。那么在Apache和Nginx中應(yīng)該如何選擇適合自己的網(wǎng)站服務(wù)器?

Nginx和Apache一樣,都是HTTP服務(wù)器軟件,在功能實(shí)現(xiàn)上都采用模塊化結(jié)構(gòu)設(shè)計(jì),都支持通用的語言接口,如PHP、Perl、Python等,同時(shí)還支持正向和反向代理、虛擬主機(jī)、URL重寫、壓縮傳輸、SSL加密傳輸?shù)龋?/p>

1、Apache和Nginx定義

Apache仍然是目前世界上最為主流的開源免費(fèi)的Web服務(wù)器軟件,市場占有率達(dá)60%左右。世界上很多著名網(wǎng)站都使用Apache,成功之處主要在于它的源代碼開放、有一支開放的開發(fā)隊(duì)伍、支持跨平臺(tái)的應(yīng)用(可以運(yùn)行在Unix、Windows、Linux系統(tǒng)平臺(tái)上)以及它的可移植性等方面。

Nginx是異步框架的網(wǎng)頁服務(wù)器,可用作反向代理、負(fù)載平衡器和HTTP緩存。其是免費(fèi)開源軟件,一大部分Web服務(wù)器使用Nginx,通常作為負(fù)載均衡器。Nginx專注于高性能,高并發(fā)性和低內(nèi)存使用。且在負(fù)載均衡、緩存、訪問和帶寬控制以及與各種應(yīng)用程序高效集成等方面的特性,深受用戶青睞。

2、Apache和Nginx對比

Apache和Nginx背景不同但作用目的一致,即接收用戶請求處理請求,最后將處理結(jié)果返回給用戶。

1)鏈接處理

Apache和Nginx最大的不同在于它們對連接的處理方式。

Apache提供一系列多重處理模塊,通過這些多重處理模塊來使用操作系統(tǒng)的資源,對進(jìn)程和線程池進(jìn)行管理,控制處理用戶請求。Nginx是通過異步的、非阻塞的、事件驅(qū)動(dòng)的方式在實(shí)現(xiàn)的,工作進(jìn)程是單線程的,每個(gè)線程可以異步處理大量用戶請求。

2)Apache和Nginx內(nèi)容處理

對于網(wǎng)絡(luò)上面內(nèi)容的處理,有動(dòng)態(tài)內(nèi)容以及靜態(tài)內(nèi)容兩方面的處理操作。對于這兩方面Apache均可。Apache具有內(nèi)置的解析和執(zhí)行各種動(dòng)態(tài)腳本語言(包括PHP,Python和Perl)的功能,無需借助外部處理器。Nginx處理動(dòng)態(tài)內(nèi)容效率不高且需借助外部的處理器。

Apache單一介紹:

1、apache 的 rewrite 比 nginx 強(qiáng)大,在 rewrite 頻繁的情況下,用 apache
2、apache 發(fā)展到現(xiàn)在,模塊超多,基本想到的都可以找到
3、apache 更為成熟,少 bug ,nginx 的 bug 相對較多
4、apache 超穩(wěn)定
5、apache 對 PHP 支持比較簡單,nginx 需要配合其他后端用
6、apache 在處理動(dòng)態(tài)請求有優(yōu)勢,nginx 在這方面是雞肋,一般動(dòng)態(tài)請求要 apache 去做,nginx 適合靜態(tài)和反向。
7、apache 仍然是目前的主流,擁有豐富的特性,成熟的技術(shù)和開發(fā)社區(qū)

Nginx單一介紹:

1、輕量級,采用C進(jìn)行編寫,同樣的 web 服務(wù),會(huì)占用更少的內(nèi)存及資源
2、抗并發(fā),nginx以 epoll and kqueue作為開發(fā)模型,處理請求是異步非阻塞的,負(fù)載能力比apache高很多,而apache則是阻塞型的。在高并發(fā)下 nginx 能保持低資源低消耗高性能 ,而 apache 在PHP 處理慢或者前端壓力很大的情況下,很容易出現(xiàn)進(jìn)程數(shù)飆升,從而拒絕服務(wù)的現(xiàn)象。
3、nginx 處理靜態(tài)文件好,靜態(tài)處理性能比 apache 高三倍以上
4、nginx 的設(shè)計(jì)高度模塊化,編寫模塊相對簡單
5、nginx 配置簡潔,正則配置讓很多事情變得簡單,而且改完配置能使用 -t 測試配置有沒有問題,apache配置復(fù)雜,重啟的時(shí)候發(fā)現(xiàn)配置出錯(cuò)了,會(huì)很崩潰
6、nginx 作為負(fù)載均衡服務(wù)器,支持 7 層負(fù)載均衡
7、nginx 本身就是一個(gè)反向代理服務(wù)器,而且可以作為非常優(yōu)秀的郵件代理服務(wù)器
8、啟動(dòng)特別容易,并且?guī)缀蹩梢宰龅?*24不間斷運(yùn)行,即使運(yùn)行數(shù)個(gè)月也不需要重新啟動(dòng),還能夠不間斷服務(wù)的情況下進(jìn)行軟件版本的升級
9、社區(qū)活躍,各種高性能模塊出品迅速

Apache對PHP支持比較簡單,Nginx需要配合其他后端用? 選擇Nginx的優(yōu)勢所在

作為Web服務(wù)器: Nginx處理靜態(tài)文件、索引文件,自動(dòng)索引的效率非常高。
作為代理服務(wù)器,Nginx可以實(shí)現(xiàn)無緩存的反向代理加速,提高網(wǎng)站運(yùn)行速度。
作為負(fù)載均衡服務(wù)器,Nginx既可以在內(nèi)部直接支持Rails和PHP,也可以支持HTTP代理服務(wù)器對外進(jìn)行服務(wù),同時(shí)還支持簡單的容錯(cuò)和利用算法進(jìn)行負(fù)載均衡。
在性能方面,Nginx是專門為性能優(yōu)化而開發(fā)的,在實(shí)現(xiàn)上非常注重效率。它采用內(nèi)核Poll模型(epoll and kqueue ),可以支持更多的并發(fā)連接,最大可以支持對50 000個(gè)并發(fā)連接數(shù)的響應(yīng),而且只占用很低的內(nèi)存資源。
在穩(wěn)定性方面,Nginx采取了分階段資源分配技術(shù),使得CPU與內(nèi)存的占用率非常低。Nginx官方表示,Nginx保持10 000個(gè)沒有活動(dòng)的連接,而這些連接只占用2.5MB內(nèi)存,因此,類似DOS這樣的攻擊對Nginx來說基本上是沒有任何作用的。
在高可用性方面,Nginx支持熱部署,啟動(dòng)速度特別迅速,因此可以在不間斷服務(wù)的情況下,對軟件版本或者配置進(jìn)行升級,即使運(yùn)行數(shù)月也無需重新啟動(dòng),幾乎可以做到7×24小時(shí)不間斷地運(yùn)行。

寶塔面板可以方便的配置LAMP或者LNMP環(huán)境,但是并不能一鍵搭建apache和nginx共存的環(huán)境,需要自己手動(dòng)設(shè)置。

Apache和Nginx各有優(yōu)缺點(diǎn),有許多朋友會(huì)將兩者結(jié)合來用,使用服務(wù)器的性能更優(yōu)越;

由于Nginx和Apache各自的優(yōu)勢,現(xiàn)在很多人選擇了讓兩者在服務(wù)器中共存。在服務(wù)器端讓Nginx在前,Apache在后。由Nginx做負(fù)載均衡和反向代理,并且處理靜態(tài)文件,講動(dòng)態(tài)請求(如PHP應(yīng)用)交給Apache去處理。

問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對《免責(zé)聲明》全部內(nèi)容的認(rèn)可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請聯(lián)系站長并出示版權(quán)證明以便刪除。 敬請諒解! 侵權(quán)刪帖/違法舉報(bào)/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評論,如有謬誤,請聯(lián)系指正;轉(zhuǎn)載請注明出處: » 在Apache和Nginx兩者web服務(wù)器中如何選擇適合的網(wǎng)站服務(wù)器?

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開發(fā)與維護(hù);網(wǎng)站開發(fā)修改及維護(hù); 各財(cái)務(wù)軟件安裝調(diào)試及注冊服務(wù)(金蝶,用友,管家婆,速達(dá),星宇等);同時(shí)也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情