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