@ZkAlan
Apache2.2+Tomcat7.0集群部署
一、准备环节
运行环境:Windows7
Apache版本:Apache 2.24
Tomcat版本:tomcat6.39以上
mod_jk.os 链接包 用来链接Apache端口和Tomcat端口
二、设置Apache下的 httpd.conf 配置文件
httpd.conf 是Apache的主要配置文件,在Apache 安装完成后,可尝试打开 /Apache 2.2/conf/httpd.conf
文件进行修改,下面是 Apache 的常用配置:
在文件的最后一行加入 include conf/mod_jk.conf (自行创建)
mod_jk.conf 内容如下:
LoadModule jk_module modules/mod_jk.so JkWorkersFile conf/workers.properties JkMount /*.jsp controller
在同级目录下 新建 workers.properties文件 内容如下
worker.list = controller worker.tomcat1.port=11003 worker.tomcat1.host=localhost worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor = 1 worker.tomcat2.port=12003 worker.tomcat2.host=localhost worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor = 1 worker.tomcat3.port=13003 worker.tomcat3.host=localhost worker.tomcat3.type=ajp13 worker.tomcat3.lbfactor = 1 worker.controller.type=lb worker.controller.balanced_workers=tomcat1,tomcat2,tomcat3 worker.controller.sticky_session=false worker.controller.sticky_session_force=1 #worker.controller.sticky_session=1
然后将mod_jkxxxxx.so 更名为mod_jk.so 并粘贴到/Apache/modules目录下
三、Tomcat 配置
把tomcat复制三份在tomcat conf/server.xml添加:
<Connector port="11003" protocol="AJP/1.3" redirectPort="8443" />>
这句话在server.xml中默认是被注释掉的,使用时取消即可。
由于三份tomcat都在同一环境下,会出现端口被占用的情况,所以我们更改他们的端口号,
避免出现端口冲突
在 tomcat webApps 目录下 添加 index.jsp页面用来备用访问
页面内容如下:
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>"); 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>
四、启动
启动Tomcat
打开tomcat/bin/startup.bat
分别启动tomcat1、tomcat2、tomcat3
启动Apache
打开Apache/bin/ApacheMonitor.exe
访问 http:127.0.0.1:80/index.jsp
如果 显示内容显示为 在tomcat webApps 目录中的index.jsp 页面写好的页面
刷新页面
我们发现ID 的tomcat名称发生变化
即Apache与Tomcat 集群部署成功!
此时我们集群部署成功,但是session却没有共享,解决办法是建立test项目,需要在项目的web.xml中添加
<distributable/>
我们发现此时数据已经被共享
那么我们的tomcat集群下的session共享也已经完成!