Apache和Nginx的區別

Apache Nginx的區別與比較:

 

Apache:

Apache HTTP Server(簡稱apache)Apache軟件基金會的一個開放源碼的網頁服務器,可以在大多數計算機操作系統中運行,由於其多平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一,它快速、可靠並且通過簡單的API擴展,將Perl/Python等解釋器編譯到服務器中。

Apache是以進程爲基礎的結構,進程要比線程消耗更多的系統開支,不太適用於多處理器環境,因此,在一個apache Web站點擴容時,通常是增加服務器或擴充羣集節點而不是增加處理器。

 

Nginx

Nginx是一個高性能的HTTP和反向代理服務器

是一款輕量級的web服務器/反向代理服務器/電子郵件(IMAP/POP3)代理服務器

 

1、優缺點比較:

(1)nginx相對於apache的優點:

* 輕量級,同樣起web服務,比apache佔用更少的內存及資源

* 抗併發,nginx處理請求是異步非阻塞的,而apache是阻塞型的

在高併發下,nginx能保持低資源低消耗高性能

* 高度模塊化的設計,編寫模塊相對簡單

(2)apache相對於nginx的優點:

* Rewritenginxrewrite強大   ###rewrite的主要功能就是實現統一資源定位符(URL)的跳轉

* 模塊多,基本想到的都可以找到

* bugnginxbug相對較多

* 超穩定

存在的理由:一般來說,需要性能的web服務,用nginx。若不需要性能只求穩定,就選用apache

2、作爲web服務器:

相比apachenginx使用更少的資源,支持更多的併發連接,體現更高的效率。

Nginx作爲負載均衡服務器:nginx既可以在內部直接支持railsphp程序對外進行服務,也可以支持http代理服務器對外進行服務。Nginx採用C進行編寫,不論是系統資源開銷還是CPU使用效率都比較好。

作爲郵件代理服務器:最早開發這個產品的目的之一也是作爲郵件代理服務器。

3、nginx配置簡潔, apache較複雜

Nginx靜態處理性能比apache3倍以上

4、最核心的區別在於:apache是同步多進程模型,一個連接對應一個進程,nginx是異步的,多個連接可以對應一個進程。

Nginx處理靜態文件好,耗費內存少,只適合靜態和反向。Apache在處理動態有優勢,nginx併發性比較好,CPU佔用內存低,如果rewrite頻繁,選用apache最佳。

總的來說,apache依然是大部分公司的首選


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