admin

tomcat负载均衡配置代码大全

admin 运维技术 2022-11-16 455浏览 0

前面我们介绍了tomcat负载均衡配置的安装过程,接下来就进入我们的重点了——tomcat负载均衡配置代码内容 。当然,我们在正确安装之后才能进行到这一步。之后还包括tomacat集群配置和应用配置。相关的代码介绍的比较详细,希望对大家有所帮助。

tomcat 负载均衡配置过程

(1)在那台要安装apache的服务器上安装apache2.0.55,我的安装路径为默认C:\Program Files\Apache Group\Apache2

(2)安装后测试apache能否正常启动,调试到能够正常启动http://192.168.0.88

(3)下载jk2.0.4后解压缩文件

(4)将解压缩后的目录中的modules目录中的mod_jk2.so文件复制到apache的安装目录下的modules目录中,我的为C:\Program Files\Apache Group\Apache2\modules

(5)修改apache的安装目录中的conf目录的配置文件httpd.conf,在文件中加LoadModule模块配置信息的最后加上一句LoadModule jk2_module modules/mod_jk2.so

(6)分别修改三个tomcat的配置文件conf/server.xml,修改内容如下

修改前

<!--AnEnginerepresentstheentrypoint(withinCatalina)thatprocesses 
everyrequest.TheEngineimplementationforTomcatstandalone 
analyzestheHTTPheadersincludedwiththerequest,andpassesthem 
ontotheappropriateHost(virtualhost).--> 

<!--YoushouldsetjvmRoutetosupportload-balancingviaAJPie: 
<Enginename="Standalone"defaultHost="localhost"jvmRoute="jvm1"> 
--> 
 
<!--Definethetoplevelcontainerinourcontainerhierarchy--> 
<Enginename="Catalina"defaultHost="localhost">

#p#修改后

<!--AnEnginerepresentstheentrypoint(withinCatalina)thatprocesses 
everyrequest.TheEngineimplementationforTomcatstandalone 
analyzestheHTTPheadersincludedwiththerequest,andpassesthem 
ontotheappropriateHost(virtualhost).--> 

<!--YoushouldsetjvmRoutetosupportload-balancingviaAJPie:--> 
<Enginename="Standalone"defaultHost="localhost"jvmRoute="tomcat1"> 
 
 
<!--Definethetoplevelcontainerinourcontainerhierarchy 
<Enginename="Catalina"defaultHost="localhost"> 
-->

将其中的jvmRoute="jvm1"分别修改为jvmRoute="tomcat1"和jvmRoute="tomcat2"和jvmRoute="tomcat3"

(7)然后重启三个tomcat,调试能够正常启动。

(8)在apache的安装目录中的conf目录下创建文件workers2.propertie,写入文件内容如下

#finethecommunicationchannel 
[channel.socket:192.168.0.1:8009] 
info=Ajp13forwardingoversocket 
#配置第一个服务器 
tomcatId=tomcat1#要和tomcat的配置文件server.xml中的jvmRoute="tomcat1"名称一致 
debug=0 
lb_factor=1#负载平衡因子,数字越大请求被分配的几率越高 

#Definethecommunicationchannel 
[channel.socket:192.168.0.2:8009] 
info=Ajp13forwardingoversocket 
tomcatId=tomcat2 
debug=0 
lb_factor=1 

#Definethecommunicationchannel 
[channel.socket:192.168.0.4:8009] 
info=Ajp13forwardingoversocket 
tomcatId=tomcat3 
debug=0 
lb_factor=1 

[status:] 
info=Statusworker,displaysruntimeinformation. 

[uri:/jkstatus.jsp] 
info=Displaystatusinformationandcheckstheconfigfileforchanges. 
group=status: 

[uri:/*] 
info=Mapthewholewebapp 
debug=0

#p#(9)在三个tomcat的安装目录中的webapps建立相同的应用,我和应用目录名为TomcatDemo,在三个应用目录中建立相同 WEB-INF目录和页面index.jsp,index.jsp的页面内容如下

<%@pagecontentType="text/html;charset=GBK"%> 
<%@pageimport="java.util.*"%> 
<html><head><title>ClusterAppTest</title></head> 
<body> 
ServerInfo: 
<% 
out.println(request.getLocalAddr()+":"+request.getLocalPort()+"<br>");%> 
<% 
out.println("<br>ID"+session.getId()+"<br>"); 

//如果有新的Session属性设置 
StringdataName=request.getParameter("dataName"); 
if(dataName!=null&&dataName.length()>0){ 
StringdataValue=request.getParameter("dataValue"); 
session.setAttribute(dataName,dataValue); 
} 

out.print("<b>Session列表</b>"); 

Enumeratione=session.getAttributeNames(); 
while(e.hasMoreElements()){ 
Stringname=(String)e.nextElement(); 
Stringvalue=session.getAttribute(name).toString(); 
out.println(name+"="+value+"<br>"); 
System.out.println(name+"="+value); 
} 
%> 
<formaction="index.jsp"method="POST"> 
名称:<inputtype=textsize=20name="dataName"> 
<br> 
值:<inputtype=textsize=20name="dataValue"> 
<br> 
<inputtype=submit> 
</form> 
</body> 
</html>

(10)重启apache服务器和三个tomcat服务器,到此tomcat负载均衡 配置完成。测试负载均衡先测试apache,访问http://192.168.0.88/jkstatus.jsp

能否正常访问,并查询其中的内容,有三个tomcat的相关配置信息和负载说明,访问http://192.168.0.88/TomcatDemo/index.jsp看能够运行,能运行,则已建立负载均衡。

继续浏览有关 网络 的文章
发表评论