1. 程式人生 > >Apache、Nginx、Tomcat、PHP的區別

Apache、Nginx、Tomcat、PHP的區別

linuxapachenginx

Apache、Nginx、Tomcat、PHP的區別


Apache和Nginx算是市面上兩款比較強大的WEB服務軟件。


Apache的優點:

  • 支持模塊多,功能多

  • 運行穩定性強

  • 支持PHP模塊,無需安裝其他多余的組件就可以實現.php動態頁面的解析

  • 地址重寫功能(rewrite)強大


Nginx的優點:

  • 強大的抗並發能力

  • 消耗主機資源小

  • 非阻塞性異步功能


Apache與Nginx的區別差異:

  • 異步能力:Apache中也有異步模塊,支持異步功能,不過是阻塞性異步,而Nginx是非阻塞性異步。

  • 多並發:Nginx因為軟件體積小,異步功能,所以消耗主機資源少,抗並發能力是Apache的3倍以上。

  • 穩定性:Apache算是一款老牌的WEB服務軟件,發展時間長,BUG少,比Nginx更值得信賴。


阻塞和非阻塞性異步:

  • 阻塞性異步:瀏覽器請求頁面,代理服務器前臺生成線程,從WEB服務器調取頁面數據返回給瀏覽器,代理服務器完全處理完這條請求才會處理下一條請求。前臺請求需要排隊等待處理,會出現阻塞情況。

  • 非阻塞性異步:瀏覽器請求頁面,代理服務器後臺掛起線程,等待從WEB服務器調取頁面數據返回給瀏覽器,代理服務器掛起請求,請求還沒處理完就開始處理下一條請求。不會出現前臺排隊處理請求阻塞問題。


Tomcat是Apache旗下的一款衍生產品,它是針對於解析.JSP動態頁面而開發的一款軟件,同時它也支持解析HTML靜態頁面。它本身也是一個WEB服務軟件,我們也可以用它來發布WEB站點,不過與Apache和Nginx它並不怎麽出眾,相對作為一個WEB服務,它並沒有太多的模塊和功能,所以它一般只用於後端.JSP動態頁面解析。


PHP是一個組件,用來支持WEB服務可以解析到.php動態頁面。它本身並沒有發布站點的功能。


Apache、Nginx、Tomcat、PHP的區別