Apache2+Tomcat7集群实现
文章转载http://wiki.bsdn.org
概述Tomcat是J2EE开发当中使用最多的应用服务器,本章就来介绍一下使用Apache2应用服务器加上Tomcat6一起实现应用集群与负载均衡。这里我们使用的Tomcat为7.0.26;Apache版本为2.2,如果您机器上没有,请到www.apache.org上下载,Tomcat7.0.26有两个,我们这里称之为tomcat1和tomcat2,下文中如果没特指tomcat1还是tomcat2,那么tomcat1和tomcat2都要进行操作,apache2.2只有一个。所以都准备好之后,接下来我们就来看看如何进行配置。
配置Tomcat集群打开tomcat下conf/server.xml文件,找到<Engine name="Catalina" defaultHost="localhost">,增加jvmRoute属性,以支持AJP负载均衡。
tomcat1改为<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
tomcat2改为<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2">
因为我们的两个Tomcat在是一台机器上运行,所以我们有必要修改其中一个Tomcat采用端口,以保证两个同时运行时不会产生冲突(当然,如果两个tomcat不在一台机器上运行,那么这个步骤就可以省略)。我们这里修改的是tomcat2,打开tomcat2下conf/server.xml文件,修改如下:
\.gif;.\.js;.\.jpg;.\.png;.\.css;.\.txt; "。filter使用正则表达式,每个url或者后缀以逗号分开。Deployer使集群支持farmed deployment。这个功能还很弱,在变化和更改中。
ClusterListenerProxyPass / balancer:
//cluster/ stickysession=JSESSIONID
?ProxyPassReverse / balancer:
//cluster/
<proxy balancer:
//cluster>
??????????
BalancerMember ajp:
//127.0.0.1:8009 loadfactor=1 route=jvm1
??????????
BalancerMember ajp:
//127.0.0.1:9009 loadfactor=1 route=jvm2
</proxy>
通过Apache自带的mod_proxy某块来使用代理技术连接tomcat, ajp_proxy需要tomcat提供ajp服务。