Apache和Nginx比較 功能對(duì)比
Nginx和Apache一樣,都是HTTP服務(wù)器軟件,在功能實(shí)現(xiàn)上都采用模塊化結(jié)構(gòu)設(shè)計(jì),都支持通用的語(yǔ)言接口,如PHP、Perl、Python等,同時(shí)還支持正向和反向代理、虛擬主機(jī)、URL重寫、壓縮傳輸、SSL加密傳輸?shù)取?/p>
在功能實(shí)現(xiàn)上,Apache的所有模塊都支持動(dòng)、靜態(tài)編譯,而Nginx模塊都是靜態(tài)編譯的,
對(duì)FastCGI的支持,Apache對(duì)Fcgi的支持不好,而Nginx對(duì)Fcgi的支持非常好;
在處理連接方式上,Nginx支持epoll,而Apache卻不支持;
在空間使用上,Nginx安裝包僅僅只有幾百K,和Nginx比起來(lái)Apache絕對(duì)是龐然大物。
Nginx相對(duì)apache的優(yōu)點(diǎn)
輕量級(jí),同樣起web 服務(wù),比apache 占用更少的內(nèi)存及資源
靜態(tài)處理,Nginx 靜態(tài)處理性能比 Apache 高 3倍以上
抗并發(fā),nginx 處理請(qǐng)求是異步非阻塞的,而apache則是阻塞型的,在高并發(fā)下nginx 能保持低資源低消耗高性能。在Apache+PHP(prefork)模式下,如果PHP處理慢或者前端壓力很大的情況下,很容易出現(xiàn)Apache進(jìn)程數(shù)飆升,從而拒絕服務(wù)的現(xiàn)象。
高度模塊化的設(shè)計(jì),編寫模塊相對(duì)簡(jiǎn)單
社區(qū)活躍,各種高性能模塊出品迅速啊
apache相對(duì)nginx的優(yōu)點(diǎn)
rewrite,比nginx 的rewrite 強(qiáng)大
模塊超多,基本想到的都可以找到
少bug,nginx的bug相對(duì)較多
超穩(wěn)定
Apache對(duì)PHP支持比較簡(jiǎn)單,Nginx需要配合其他后端用
選擇Nginx的優(yōu)勢(shì)所在
作為Web服務(wù)器: Nginx處理靜態(tài)文件、索引文件,自動(dòng)索引的效率非常高。
作為代理服務(wù)器,Nginx可以實(shí)現(xiàn)無(wú)緩存的反向代理加速,提高網(wǎng)站運(yùn)行速度。
作為負(fù)載均衡服務(wù)器,Nginx既可以在內(nèi)部直接支持Rails和PHP,也可以支持HTTP代理服務(wù)器對(duì)外進(jìn)行服務(wù),同時(shí)還支持簡(jiǎn)單的容錯(cuò)和利用算法進(jìn)行負(fù)載均衡。
在性能方面,Nginx是專門為性能優(yōu)化而開發(fā)的,在實(shí)現(xiàn)上非常注重效率。它采用內(nèi)核Poll模型(epoll and kqueue ),可以支持更多的并發(fā)連接,最大可以支持對(duì)50 000個(gè)并發(fā)連接數(shù)的響應(yīng),而且只占用很低的內(nèi)存資源。
在穩(wěn)定性方面,Nginx采取了分階段資源分配技術(shù),使得CPU與內(nèi)存的占用率非常低。Nginx官方表示,Nginx保持10 000個(gè)沒(méi)有活動(dòng)的連接,而這些連接只占用2.5MB內(nèi)存,因此,類似DOS這樣的攻擊對(duì)Nginx來(lái)說(shuō)基本上是沒(méi)有任何作用的。
在高可用性方面,Nginx支持熱部署,啟動(dòng)速度特別迅速,因此可以在不間斷服務(wù)的情況下,對(duì)軟件版本或者配置進(jìn)行升級(jí),即使運(yùn)行數(shù)月也無(wú)需重新啟動(dòng),幾乎可以做到7×24小時(shí)不間斷地運(yùn)行。
同時(shí)使用Nginx和Apache
由于Nginx和Apache各自的優(yōu)勢(shì),現(xiàn)在很多人選擇了讓兩者在服務(wù)器中共存。在服務(wù)器端讓Nginx在前,Apache在后。由Nginx做負(fù)載均衡和反向代理,并且處理靜態(tài)文件,講動(dòng)態(tài)請(qǐng)求(如PHP應(yīng)用)交給Apache去處理。
新聞熱點(diǎn)
疑難解答
圖片精選