首頁  >  文章  >  後端開發  >  有關nginx與apache的優缺點

有關nginx與apache的優缺點

WBOY
WBOY原創
2016-08-08 09:24:071044瀏覽

本節內容:
nginx與apache的優缺點

一、nginx相對於apache的優點: 
輕量級,同樣起web 服務,比apache伺服器佔用更少的記憶體及資源 
抗併發,nginx在處理請求是異步非阻塞的,而apache 則是阻塞型的,在高並發下nginx 能保持低資源低消耗高性能 
高度模組化的設計,編寫模組相對簡單 
社區活躍,各種高性能模組出品迅速啊 
apache 相對於nginx 的優點: 
rewrite ,比nginx 的rewrite 強大 
動態頁
模組超多,基本上想到的都可以找到 
少bug ,nginx 的bug 相對較多,基本上想到的都可以找到 
少bug ,nginx 的bug 相對較多一般來說,需要效能的web 服務,用nginx 。如果不需要效能只求穩定,那就apache 吧。後者的各種功能模組實作得比前者,例如ssl 的模組就比前者好,

可配置項多。這裡要注意一點,epoll(freebsd 上是kqueue )網絡IO 模型是nginx 處理性能高的根本理由,但並不是所有的情況下都是epoll 大獲全勝的,如果本身提供靜

態服務的就只有寥寥幾個文件,apache 的select 模型可能比epoll 更高效能。當然,這只是根據網路IO 模型的原理作的假設,真正的應用還是需要實測了再說的。

二、作為 Web 伺服器:相比 Apache,Nginx 使用更少的資源,支援更多的並發連接,體現更高的效率,這一點使 Nginx 尤其受到虛擬主機供應商的歡迎。在高連線同時的情況

下,Nginx是apache伺服器不錯的替代品: Nginx在美國是做虛擬主機生意的老闆們經常選擇的軟體平台之一. 能夠支援高達50,000 個並發連線數的回應, 感謝Nginx為我們

選擇了epoll and kqueue 作為開發模型. 
Nginx作為負載平衡伺服器: Nginx 既可以在內部直接支援Rails 和PHP 程式對外進行服務, 也可以支援作為HTTP代理伺服器對外進行服務.Nginx採用C進行編寫, 不論
是系統資源開銷還是CPU使用效率都比Perlbal 好很多. 
作為郵件代理伺服器: Nginx 同時也是一個非常優秀的郵件代理伺服器(最早開發這個產品的目的之一也是作為郵件代理伺服器), Last .fm 描述了成功並且美妙的使用經
驗. 
Nginx 是一個安裝非常的簡單, 配置文件非常簡潔(還能夠支持perl語法), Bugs 非常少的服務器: Nginx 啟動特別容易, 並且幾乎可以做到7*24不間斷運行,即使運行數
個月也不需要重新啟動. 你還能夠不間斷服務的情況下進行軟體版本的升級.

三、Nginx 配置簡潔, Apache 複雜 

Nginx 靜態處理性能比Apache 高3倍以上 

Apache 對PHP 支援比較簡單,Nginx 需要配合其他後端用 
Apache 的元件比Nginx 多 
現在Nginx 才是Web 伺服器的首選

在於四、最核心的差異化現在Nginx 是Web 伺服器的首選

在於四、最核心的差異化是同步多進程是Web 伺服器的首選

在於四、最核心的區別模型,一個連接對應一個進程;nginx是異步的,多個連接(萬級)可以對應一個進程

五、nginx處理靜態文件好,耗費內存少.但無疑apache仍然是目前的主流,有很多豐富的特性.所以還需要搭配著來.當然如果能確定nginx就適合需求,那麼使用nginx會是更經濟

的方式. 

apache有先天不支持多核心處理負載雞肋的缺點,建議使用nginx做前端,後端用apache。大型網站建議用nginx自代的叢集功能

六、從個人過往的使用情況來看,nginx的負載能力比apache高很多。最新的伺服器也改用nginx了。而且nginx改完配置能-t測試一下配置有沒有問題,apache重啟的時候發現
配置出錯了,會很崩潰,改的時候都會非常小心翼翼現在看有很多集群站,前端nginx抗並發,後端apache集群,配合的也不錯。

 

七、nginx處理動態請求是雞肋,一般動態請求要apache去做,nginx只適合靜態和反向。

八、從我個人的經驗來看,nginx是很不錯的前端服務器,負載性能很好,在老奔上開nginx,用webbench模擬10000個靜態文件請求毫不吃力。 apache對php等​​語言的支援很好

,此外apache有強大的支援網絡,發展時間相對nginx更久,

九、Nginx優於apache的主要兩點:1.Nginx本身就是一個反向代理伺服器2.Nginx支援7層負載平衡;其他的當然,Nginx可能會比apache支援更高的並發,但根據NetCraft

的統計,2011年4月的統計數據,Apache依然佔有62.71%,而Nginx是7.35% ,因此總得來說,Aapche依然是大部分公司的首先,因為其成熟的技術和開發社群已經也是非常不🎜錯的性能。 🎜

十、對web server的需求決定你的選擇。大部分情況下nginx都優於APACHE,比如說靜態檔案處理、PHP-CGI的支援、反向代理功能、前端Cache、維持連線等等。在
Apache+PHP(prefork)模式下,如果PHP處理慢或前端壓力很大的情況下,很容易出現Apache進程數飆升,從而拒絕服務的現象。

十一、nginx lua模組:可直接用lua實現apache是​​最受歡迎的。

十二、對於nginx,設定檔寫的很簡潔,正規設定讓很多事情變得簡單運作效率高,佔用資源少,代理功能強大,很適合做前端回應伺服器 。

十三、Apache在處理動態有優勢,Nginx並發性比較好,CPU記憶體佔用量低,如果rewrite頻繁,那還是Apache吧。

以上就介紹了nginx與apache的優缺點,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn