1. 程式人生 > >nginx 相對 apache 比較,總結一下

nginx 相對 apache 比較,總結一下

nginx 相對 apache 的優點:

· 輕量級,同樣起web 服務,比apache 佔用更少的記憶體及資源

· 抗併發,nginx 處理請求是非同步非阻塞的,而apache 則是阻塞型的,在高併發下nginx 能保持低資源低消耗高效能

· 高度模組化的設計,編寫模組相對簡單

· 社群活躍,各種高效能模組出品迅速啊



apache 相對nginx 的優點:

· rewrite ,比nginx rewrite 強大

· 模組超多,基本想到的都可以找到

· bug nginx bug 相對較多

· 超穩定



    存在就是理由,一般來說,需要效能的web 服務,用nginx 。如果不需要效能只求穩定,那就apache 吧。後者的各種功能模組實現得比前者,例如ssl 的模組就比前者好,可配置項多。
這裡要注意一點,

epoll(freebsd 上是 kqueue )網路IO 模型是nginx 處理效能高的根本理由,但並不是所有的情況下都是epoll 大獲全勝的,如果本身提供靜態服務的就只有寥寥幾個檔案,apache 的select 模型或許比epoll 更高效能。當然,這只是根據網路IO 模型的原理作的一個假設,真正的應用還是需要實測了再說的。


補充:

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

2、nginx 適合做靜態,簡單,效率高

apache 適合做動態,穩定,功能強

3、硬體資源滿足下用apache+php因為它超級穩定,當然nginx+php也不錯, 硬體資源不足,又想解決當前網站訪問壓力,


連結:https://www.zhihu.com/question/19571087/answer/12313829
效能測試;http://www.linuxidc.com/Linux/2016-05/131687.htm