前面我们介绍了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看能够运行,能运行,则已建立负载均衡。
转载请注明:IT运维空间 » 运维技术 » tomcat负载均衡配置代码大全
发表评论