單獨使用的優點:配置方便、安全性漏洞少(比如利用大小寫JSP下載)
那什麼情況下需要使用Apache+Tomcat呢?來分析一下
1、負載平衡
如果你需要負載平衡的話,Apache+Tomcat+modjk是一個選擇,利用它,你可以把應用伺服器拆分成多個伺服器,比如:可以拆分成:
(1)、管理端應用伺服器
(2)、用戶端應用伺服器
(3)、報表、列印伺服器放在一台機器上
(4)、大量操作伺服器放在一個地方(比如大量的對賬調賬)
(5)、甚至可以給每批客戶一台伺服器,比如不同的省
2、各種各樣的web server功能
大家都知道,Apache有無數的mod,這些mod提供著各種各樣豐富的web功能,如果你需要這些功能,Apache就是必不可少的選擇
比如:
(1)虛擬機器主機
同一個ip要使用多個不同的網域名稱,那麼Apache來幫你完成這個問題吧
(2)urlrewrite
3、快速相應效能
在快速響應上的優勢Apache可以說遠遠超過其它伺服器,一台Apache只做轉寄的話可以拖著無數的Tomcat伺服器來跑
4、對二進位檔案的處理上
對於.jpg .css .js .html等的處理上,Apache的效能遠超過Tomcat,可以把這些都配置給Apache
5、對於請求的排隊上
6、對於資源的佔用上。
這裡舉個例子,比如應用服務開發用了open-session-in-view,那麼在如果只用Tomcat,在處理完成後要給用戶端發送response的內容,如果網路很慢,這樣應用伺服器的session就會一直不關閉,一直等著,容易造成資料庫connection過多,造成問題。相應的還有很多類似的資源佔用問題
如果用Apache+Tomcat,因為Apache和Tomcat在同一個區域網路,之間很快,所有的requese和response都是Apache和Tomcat互動,這部門不會出現上邊的問題,而和最終客戶都是Apache和終端使用者,Apache不會佔用這些資源,不會造成這類問題。
以上是一些常見的原因。