淺析apache與nginx的區別

一次面試經歷讓我深刻頓悟,光會操作,不會系統的理論總結,也會吃虧的。

1、nginx相對於apache的優點:

Nginx是輕量級web服務,比apache佔用更少的內存及資源,抗併發,nginx處理請求是異步非阻塞的,而apache則是阻塞型的,在高併發下nginx能保持低資源低消耗高性能。
高度模塊化的設計,編寫模塊相對簡單,
社區活躍,各種高性能模塊出品迅速啊。


apache相對於nginx的優點:
rewrite,比nginx的rewrite強大,在動態頁面處理上apache要比Nginx強多了。

模塊超多,基本想到的都可以找到,少bug,nginx的bug相對較多,apache最重要的是超穩定。

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

3、

  • Nginx本身就是一個反向代理服務器。

  • Nginx支持7層負載均衡。

  • Nginx可能會比apache支持更高的併發。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章