单独使用的优点:配置方便、安全漏洞少(比如利用大小写的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不会占用这些资源,不会造成这类问题。
以上是一些常见的原因。