Apache 和 Tomcat 整合的好处和意义

Apache是一个web服务器环境程序,可以作为web服务器使用。不过只支持静态网页,如(asp,php,cgi,jsp)等动态网页的就显得无能为力。 

如果要在Apache环境下运行jsp 的话就需要一个解释器来执行jsp网页,而这个jsp解释器就是Tomcat。Tomcat能对JSP、Servlet进行解析,能处理动态页面

单独使用Apache或者tomcat的优点:配置方便、安全漏洞少。

作为WEB服务器扩展的Tomcat服务器有一些问题需要说明: 

当处理静态页面时,Tomcat不如Apache迅速。Tomcat不象Apache一样可配置。Tomcat不象Apache一样强壮。


Apache+Tomcat整合的好处是:

那什么情况下需要使用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不会占用这些资源,不会造成这类问题。


基于以上原因,一个现实的网站使用一个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功能。

转载于:https://my.oschina.net/huangcongcong/blog/512986

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值