上門一對一計算機家教
當前位置: 首頁 > 建站心得 >

終于不在迷糊 Apache 、Tomcat、Nginx的區別

點擊: 時間:2016-09-26 來源:北京家教網
一、 定義: 1. Apache Apache HTTP服務器是一個模塊化的服務器,可以運行在幾乎所有廣泛使用的計算機平臺上。其屬于應用服務器。Apache支持支持模塊多,性能穩定,Apache本身是靜態解析,適合靜態HTML、圖片等,但可以通過擴展腳本、模

一、 定義:

1. Apache Apache HTTP服務器是一個模塊化的服務器,可以運行在幾乎所有廣泛使用的計算機平臺上。其屬于應用服務器。Apache支持支持模塊多,性能穩定,Apache本身是靜態解析,適合靜態HTML、圖片等,但可以通過擴展腳本、模塊等支持動態頁面等。 (Apche可以支持PHPcgiperl,但是要使用Java的話,你需要Tomcat在Apache后臺支撐,將Java請求由Apache轉發給Tomcat處理。)

缺點:配置相對復雜,自身不支持動態頁面。

2. Tomcat: Tomcat是應用(Java)服務器,它只是一個Servlet(JSP也翻譯成Servlet)容器,可以認為是Apache的擴展,但是可以獨立于Apache運行。

3. Nginx Nginx是俄羅斯人編寫的十分輕量級的HTTP服務器,Nginx,它的發音為“engine X”,是一個高性能的HTTP和反向代理服務器,同時也是一個IMAP/POP3/SMTP 代理服務器。

二、 比較

1. Apache與Tomcat的比較

相同點: 

兩者都是Apache組織開發的

兩者都有HTTP服務的功能 

兩者都是免費的

不同點:

Apache是專門用了提供HTTP服務的,以及相關配置的(例如虛擬主機、URL轉發等等),而Tomcat是Apache組織在符合Java EE的JSP、Servlet標準下開發的一個JSP服務器. 

Apache是一個Web服務器環境程序,啟用他可以作為Web服務器使用,不過只支持靜態網頁如(ASP,PHP,CGI,JSP)等動態網頁的就不行。如果要在Apache環境下運行JSP的話就需要一個解釋器來執行JSP網頁,而這個JSP解釋器就是Tomcat。 

Apache:側重于HTTPServer ,Tomcat:側重于Servlet引擎,如果以Standalone方式運行,功能上與Apache等效,支持JSP,但對靜態網頁不太理想;

Apache是Web服務器,Tomcat是應用(Java)服務器,它只是一個Servlet(JSP也翻譯成Servlet)容器,可以認為是Apache的擴展,但是可以獨立于Apache運行。 實際使用中Apache與Tomcat常常是整合使用:

如果客戶端請求的是靜態頁面,則只需要Apache服務器響應請求。

如果客戶端請求動態頁面,則是Tomcat服務器響應請求。

 因為JSP是服務器端解釋代碼的,這樣整合就可以減少Tomcat的服務開銷。 可以理解Tomcat為Apache的一種擴展。

2. Nginx與Apache比較

 1) nginx相對于apache的優點

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

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

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

 提供負載均衡

社區活躍,各種高性能模塊出品迅速

2) apache 相對于nginx 的優點

 apache的 rewrite 比nginx 的強大 ;

支持動態頁面;

支持的模塊多,基本涵蓋所有應用; 

 性能穩定,而nginx相對bug較多。

3) 兩者優缺點比較

Nginx 配置簡潔, Apache 復雜 ;

Nginx 靜態處理性能比Apache 高 3倍以上 ;

Apache 對 PHP 支持比較簡單,Nginx 需要配合其他后端用; 

 Apache 的組件比 Nginx 多 ; 

 apache是同步多進程模型,一個連接對應一個進程;nginx是異步的,多個連接(萬級別)可以對應一個進程; 

 nginx處理靜態文件好,耗費內存少; 

 動態請求由apache去做,nginx只適合靜態和反向;

Nginx適合做前端服務器,負載性能很好;

Nginx本身就是一個反向代理服務器 ,且支持負載均衡

3. 總結 

 Nginx優點:負載均衡、反向代理、處理靜態文件優勢。nginx處 理靜態請求的速度高于apache;

Apache優點:相對于Tomcat服務器來說處理靜態文件是它的優 勢,速度快。Apache是靜態解析,適合靜態HTML、圖片等。

Tomcat:動態解析容器,處理動態請求,是編譯JSP\Servlet的容 器,Nginx有動態分離機制,靜態請求直接就可以通過Nginx處理,動態請求才轉發請求到后臺交由Tomcat進行處理。

Apache在處理動態有優勢,Nginx并發性比較好,CPU內存占用低,如果rewrite頻繁,那還是Apache較適合。

------分隔線----------------------------
30选5开奖查询