Apache和Tomcat整合

在之前的日子里面,使用SSH架在TOMCAT上面写了一个小项目,但是部门里最经常使用的是Apache+PHP,因此为了能够不开放更多的端口,就想试验下以前听过的将Apache和Tomcat进行整合。
在整合过程中,参考了很多内容,我都一一放在此文的末尾,供大家一起参阅。
其实本文的目标比较小,经过一些简单的了解后,可以使用Tomcat中的AJP监听端口来进行整合。但是查阅后才得知,使用此种方法还可以进行均衡负载(load-balancing)、失效备援(failover)等,但这里因为我还没有实践成功过,因此仅将本次操作的部分进行总结。

试验软件:
Apache 2.2.10
Tomcat 6.0.18

1、加入Apache中的mod_proxy支持
因为在Apache 2.2开始,使用mod_proxy_ajp来支持 Apache JServ Protocol version 1.3了。所以,在这里我们只需启用此模块。当然为了更方便地进行代理,也可以把mod_proxy_相关的一些其它模块一起启用,在Apache中的httpd.conf如下:
LoadModule proxy_module modules / mod_proxy.so
LoadModule proxy_ajp_module modules
/ mod_proxy_ajp.so
LoadModule proxy_balancer_module modules
/ mod_proxy_balancer.so
LoadModule proxy_connect_module modules
/ mod_proxy_connect.so
LoadModule proxy_ftp_module modules
/ mod_proxy_ftp.so
LoadModule proxy_http_module modules
/ mod_proxy_http.so
将这些项前面的#号去掉就可以了。

2、在Tomcat中配置AJP监听选项
在Tomcat中,默认就已经开放了AJP的监听选项,同时还开放了一个监听non-SSL HTTP/1.1的Connector,如下:
< Connector port = " 8080 "  protocol = " HTTP/1.1 "  
               connectionTimeout
= " 20000 "  
               redirectPort
= " 8443 "   />
< Connector port = " 8009 "  protocol = " AJP/1.3 "  redirectPort = " 8443 "   />
在上面的配置中,就可以看出AJP的监听端口在8009上,HTTP/1.1浏览器监听在8080端口上。关于Connector的定义、配置及与其它元素之间的关系,大家可参考Apache Tomcat的官方文档,有对结构的完整描述 [1]
同时,还需要设置jvmRoute来支持通过AJP的负载均衡,如下:
< Engine name = " Catalina "  defaultHost = " localhost "  jvmRoute="tomcat1" >
在上述位置加入粗体部分的内容。

3、Apache最后配置
通过上面的步骤,我们就是要确定使用Apache的反向代理,将请求转至Tomcat的AJP监听端口上来正确处理。在Apache的httpd.conf中更改如下:
< IfModule dir_module >
    DirectoryIndex index.html index.jsp
</ IfModule >
在上述元素节点中,加入粗体部分的文字内容,表示增加index.jsp作为默认首页。
同时可在最后加入如下内容:
ProxyRequests Off
ProxyPass 
/  balancer: // cluster/
< proxy balancer: // cluster>
    BalancerMember ajp: // 127.0.0.1:8009 loadfactor=1 route=tomcat1
</ proxy >
注意其中的8009是与第1步中的AJP监听端口相对应,后面的route是与第1步中的jvmRoute相对应。

4、设置完成后,重新启动Apache和Tomcat。
这样子就成功了。

本次参考了大量的内容,主要有如下:
1、Apache Tomcat Architecture, http://tomcat.apache.org/tomcat-6.0-doc/architecture/index.html
2、Graham King:High availability Tomcat - Connect Tomcat servers to Apache and to each other to keep your site running, http://www.roseindia.net/software-tutorials/detail/6135,JavaWorld.com,2004-12-20
3、魏杰:Apache负载均衡+Tomcat集群, http://weijie.blog.51cto.com/340746/68195,2008-03-26
4、heavyz:Tomcat启动分析, http://docs.huihoo.com/apache/tomcat/heavyz/01-startup.html,2003-03-22
还有很多参考没办法列出来,在此对他们表示非常感谢。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值