1.需要软件
tomcat6.0.36
apache_2.2.10-win32-x86-no_ssl.msi
mod_jk-1.2.31-httpd-2.2.3.so
怎么安装和运行我就不说了,这个搞开发的都会。
2.环境搭建
-
2.1.apache配置。 我本地的Apache安装的目录:D:\Apache2.2
2.1.1 打开D:\Apache2.2\conf\httpd.conf 文件,在最后添加:include "D:/Apache2.2/conf/mod_jk.conf"
2.1.2 在D:\Apache2.2\conf 下新建mod_jk.conf文件,文件添加如下代码:
LoadModule jk_module modules/<span style="color:#ff6666;">mod_jk-1.2.31-httpd-2.2.3.so</span>
JkWorkersFile conf/<span style="color:#ff6666;">workers.properties</span>
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名
JkMount /*.jsp controller
注意红色代码,这个是关键
2.1.3 将下载下来的mod_jk-1.2.31-httpd-2.2.3.so拷贝到 D:\Apache2.2\modules下
2.1.4 在D:\Apache2.2\conf 下新建workers.properties文件,代码如下
#server
worker.list = controller,tomcat1,tomcat2
#========tomcat1========
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#========tomcat2========
worker.tomcat2.port=12009
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2
worker.controller.sticky_session=false
worker.controller.sticky_session_force=1
#worker.controller.sticky_session=1
-
2.2.tomcat配置,我在一台机器放两个tomcat,配置起来相对比较复杂点,将两个tomcat命名分别为tomcat-A、tomcat-B
tomcat-A 修改server.xml文件:要改三个地方,下面红色圈圈就是要改的地方
tomcat-B 修改server.xml文件:由于同一台机器上跑,所以一些端口要改一下,如果不是同一台机器,和tomcat-A配置差不多,改将tomcat1改成tomcat2,端口改成8010即可,下面图片圈出需要修改的东西:
-
2.4.测试
新建一个web项目,Jbss。在Jbss项目下的web.xml添加 <distributable/>。如图所示:
新建测试的test.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.println("<b>Session 列表</b><br>");
System.out.println("============================");
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="test2.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>
分别将Jbss项目部署到tomcat-A和tomcat-B下。
启动apache,然后分别启动tomcat-A和tomcat-B
访问http://localhost/Jbss/test.jsp 进行测试
部署完毕。