Apache和Nginx最核心的差異在於 apache 是同步多進程模型,一個連線對應一個行程;而 nginx 是異步的,多個連線(萬層)可以對應一個行程。下面這篇文章就來跟大家介紹一下Apache和Nginx的差別有那些,希望對你們有幫助。
Apache與Nginx的差異:
##Apache
● apache 的rewrite 比nginx 強大,在rewrite 頻繁的情況下,用apache● apache 發展到現在,模組超多,基本想到的都可以找到●● apache 更為成熟,少bug ,nginx 的bug 相對較多● apache 超穩定● apache 對PHP 支援比較簡單,nginx 需要配合其他後端用##●#● apache 在處理動態請求有優勢,nginx 在這方面是雞肋,一般動態請求要apache 去做,nginx 適合靜態和反向。
● apache 仍然是目前的主流,擁有豐富的特性,成熟的技術和開發社區
Nginx● 輕量級,採用C 進行編寫,同樣的web 服務,會佔用更少的內存及資源
● 抗並發,nginx 以epoll and kqueue 作為開發模型,處理請求是異步非阻塞的,負載能力比apache 高很多,而apache 則是阻塞型的。在高並發下 nginx 能保持低資源低消耗高效能 ,而 apache 在 PHP 處理慢或前端壓力很大的情況下,很容易出現進程數飆升,從而拒絕服務的現象。
● nginx 處理靜態檔案好,靜態處理效能比apache 高三倍以上
● nginx 的設計高度模組化,編寫模組相對簡單
● nginx 配置簡潔,正規配置讓很多事情變得簡單,而且改完配置能使用-t 測試配置有沒有問題,apache 配置複雜,重啟的時候發現配置出錯了,會很崩潰
● nginx 作為負載平衡伺服器,支援7 層負載平衡
● nginx 本身就是一個反向代理伺服器,而且可以作為非常優秀的郵件代理伺服器
● 啟動特別容易, 並且幾乎可以做到7*24不間斷運行,即使運行數月也不需要重新啟動,還能夠不間斷服務的情況下進行軟體版本的升級
● 社區活躍,各種高性能模組出品迅速
總結一般來說,需要效能的web 服務,用nginx 。如果不需要效能只求穩定,更考慮 apache 。更通用的方案是,前端 nginx 抗並發,後端 apache 集群,配合起來會更好。
以上是Apache和Nginx有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!