Apache 和 Tomcat 整合的好處和意義

Apache是一個web服務器環境程序,能夠做爲web服務器使用。不過只支持靜態網頁,如(asp,php,cgi,jsp)等動態網頁的就顯得無能爲力。 
php

若是要在Apache環境下運行jsp 的話就須要一個解釋器來執行jsp網頁,而這個jsp解釋器就是Tomcat。Tomcat能對JSP、Servlet進行解析,能處理動態頁面
css

單獨使用Apache或者tomcat的優勢:配置方便、安全漏洞少。 html

做爲WEB服務器擴展的Tomcat服務器有一些問題須要說明:  web

當處理靜態頁面時,Tomcat不如Apache迅速。Tomcat不象Apache同樣可配置。Tomcat不象Apache同樣強壯。 數據庫


Apache+Tomcat整合的好處是:
apache

那什麼狀況下須要使用apache+tomcat呢?來分析一下
一、負載均衡
若是你須要負載均衡的話,apache+tomcat+modjk是一個選擇,利用它,你能夠把應用服務器拆分紅多個服務器,好比:能夠拆分紅:
(1)、管理端應用服務器
(2)、客戶端應用服務器
(3)、報表、打印服務器放在一臺機器上
(4)、批量操做服務器放在一個地方(好比大量的對帳調帳)
(5)、甚至能夠給每批客戶一臺服務器,好比不一樣的省
二、各類各樣的web server功能
你們都知道,apache有無數的mod,這些mod提供着各類各樣豐富的web功能,若是你須要這些功能,apache就是必不可少的選擇
好比:
(1)虛擬主機
同一個ip要使用多個不一樣的域名,那麼apache來幫你完成這個問題吧
(2)urlrewrite
三、快速相應性能
在快速響應上的優點apache能夠說遠遠超過其它服務器,一臺apache只作轉發的話能夠拖着無數的tomcat服務器來跑
四、對二進制文件的處理上
對於.jpg  .css .js .html等的處理上,apache的性能遠超過tomcat,能夠把這些都配置給apache
五、對於請求的排隊上
六、對於資源的佔用上。
這裏舉個例子,好比應用服務開發用了open-session-in-view,那麼在若是隻用tomcat,在處理完成後要給客戶端發送response 的內容,若是網絡很慢,這樣應用服務器的session就會一直不關閉,一直等着,容易形成數據庫connection過多,形成問題。相應的還有不少類 似的資源佔用問題。
若是用apache+tomcat,由於apache和tomcat在同一個局域網,之間很快,全部的requese和response都是apache和 tomcat交互,這部門不會出現上邊的問題,而和最終客戶都是apache和最終用戶,apache不會佔用這些資源,不會形成這類問題。
tomcat


基於以上緣由,一個現實的網站使用一個Apache做爲Web服務器,爲網站的靜態頁面請求提供服務;並使用Tomcat服務器做爲一個Servlet/JSP插件,顯示網站的動態頁面。  安全

採用apache+tomcat這樣的結構才具備更特出的優勢,主要體如今具備更好的可擴展性安全性。這種類型的站點的主要特色是每個頁面均可能是動態生成的,但這些數據中主要部分仍是靜態的(好比,各種圖像GIF、JPG、PNG,流式媒體等)
服務器

總結: 
apache+tomcat是企業級的應用。   
1.Apache主要用來解析靜態文本,如html,tomcat也有此功能,但apache能大大提升效率,對於併發數較大的企業級應用,能更好的顯示apache的高效率;   
網絡

2.Tomcat用來解析jsp,servlet等,全部的客戶請求首先會發送到apache,若是請求是靜態文本則由apache解析,並把結果返回給 客戶端,若是是動態的請求,如jsp,apache會把解析工做交給tomcat,由tomcat進行解析(這首先要二者現實整合),tomcat解析完 成後,結果還是經過apache返回給客戶端,這樣就能夠達到分工合做,實現負載均衡,提升系統的性能!

===============================================================================================================

apche和tomcat整合的不少,apache和weblogic之類的應用服務器整合也很多見。 

apache做爲一個http服務器,在響應處理http請求方面和靜態頁面處理上有着很好的優點。若是靜態頁面多的(或者動態生成靜態頁面的,好比不少新聞網站),仍是推薦使用apache的。 
儘管你的應用沒有不少靜態頁面,你也能夠經過apache和tomcat的整合得到好處。整合apache和tomcat能夠實現一個簡單的防火牆,把你的tomcat應用部署在內網,由你的apache直接面向公網服務,轉發http請求給內網的tomcat,同時,能夠實現一個web層的集羣,用apache做爲集羣管理器,達到必定的load balance和fail over功能。

相關文章
相關標籤/搜索