tomcat集群和负载均衡(实践中整理)
来源:优易学  2011-12-18 12:26:25   【优易学:中国教育考试门户网】   资料下载   IT书店

  (三)负载均衡配置过程
  (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,修改内容如下修改前
  <!-- An Engine represents the entry point (within Catalina) that processes
  every request. The Engine implementation for Tomcat stand alone
  analyzes the HTTP headers included with the request, and passes them
  on to the appropriate Host (virtual host). -->
  <!-- You should set jvmRoute to support load-balancing via AJP ie :
  <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
  -->
  <!-- Define the top level container in our container hierarchy -->
  <Engine name="Catalina" defaultHost="localhost">
  修改后
  <!-- An Engine represents the entry point (within Catalina) that processes
  every request. The Engine implementation for Tomcat stand alone
  analyzes the HTTP headers included with the request, and passes them
  on to the appropriate Host (virtual host). -->
  <!-- You should set jvmRoute to support load-balancing via AJP ie :-->
  <Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1">
  <!-- Define the top level container in our container hierarchy
  <Engine name="Catalina" defaultHost="localhost">
  -->
  将其中的jvmRoute="jvm1"分别修改为jvmRoute="tomcat1"和jvmRoute="tomcat2"和jvmRoute="tomcat3"
  (7)然后重启三个tomcat,调试能够正常启动。
  (8)在apache的安装目录中的conf目录下创建文件workers2.propertie,写入文件内容如下
  # fine the communication channel
  [channel.socket:192.168.0.1:8009]
  info=Ajp13 forwarding over socket
  配置第一个服务器tomcatId=tomcat1 #要和tomcat的配置文件server.xml中的jvmRoute="tomcat1"名称一致debug=0 lb_factor=1 #负载平衡因子,数字越大请求被分配的几率越高
  # Define the communication channel
  [channel.socket:192.168.0.2:8009]
  info=Ajp13 forwarding over socket
  tomcatId=tomcat2
  debug=0
  lb_factor=1
  # Define the communication channel
  [channel.socket:192.168.0.4:8009]
  info=Ajp13 forwarding over socket
  tomcatId=tomcat3
  debug=0
  lb_factor=1
  [status:]
  info=Status worker, displays runtime information.
  [uri:/jkstatus.jsp]
  info=Display status information and checks the config file for changes.
  group=status:
  [uri:/*]
  info=Map the whole webapp
  debug=0
  (9)在三个tomcat的安装目录中的webapps建立相同的应用,我和应用目录名为TomcatDemo,在三个应用目录中建立相同 WEB-INF目录和页面index.jsp,index.jsp的页面内容如下
  <%@ page contentType="text/html; charset=GBK" %>
  <%@ page import="java.util.*" %>
  <html><head><title>Cluster App Test</title></head>
  <body>
  Server Info:
  <%
  out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
  <%
  out.println("<br> ID " + session.getId()+"<br>");
  // 如果有新的 Session 属性设置
  String dataName = request.getParameter("dataName");
  if (dataName != null && dataName.length() > 0) {
  String dataValue = request.getParameter("dataValue");
  session.setAttribute(dataName, dataValue);
  }
  out.print("<b>Session 列表</b>");
  Enumeration e = session.getAttributeNames();
  while (e.hasMoreElements()) {
  String name = (String)e.nextElement();
  String value = session.getAttribute(name).toString();
  out.println( name + " = " + value+"<br>");
  System.out.println( name + " = " + value);
  }
  %>
  <form action="index.jsp" method="POST">
  名称:<input type=text size=20 name="dataName">
  <br>
  值:<input type=text size=20 name="dataValue">
  <br>
  <input type=submit>
  </form>
  </body>
  </html>
  (10)重启apache服务器和三个tomcat服务器,到此负载 均衡已配置完成。测试负载均衡先测试apache,访问http://192.168.0.88/jkstatus.jsp能否正常访问,并查询其中的内容,有三个tomcat的相关配置信息和负载说明,访问http://192.168.0.88/TomcatDemo/index.jsp看能够运行,能运行,则已建立负载均衡。

上一页  [1] [2] [3] 下一页

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训