|  | 
 
| 闲来无事,就把公司的项目拿来进行集群的学习,虽然都是网上找的方法,但是仍然浪费我不少精力,不过当最后看到结果出来的时候,还是有一些欣喜。 所使用软件包括:
 Apache-http-2.2.5
 mod_jk.so
 tomcat 7
 1.首先对tomcat进行配置
 配置内容主要是对tomcat下面conf/server.xml进行修改。
 如果是在同一个机器进行部署,需要将tomcat监听的端口进行修改,以便tomcat能够成功启动。
 更改为
 <Connector connectionTimeout="20000" port="8082" protocol="HTTP/1.1" redirectPort="8443"/>
 <Connector port="8109" protocol="AJP/1.3" redirectPort="8143"/> (这两个端口都要改,8109是mod_jk.so连接的,8143是转发的,我就是因为8143都改成相同的,所以当时开始没有成功)。
 <Server port="8105" shutdown="SHUTDOWN">
 将<Engine> 下面cluster标签打开
 启动tomcat,看是否报错(正常启动自己的项目,我这里就没有测试代码,我直接用公司项目)。
 2.配置Apache
 将mod_jk.so放在Apache下面的modules文件夹内。
 在conf里添加新的文件mod_jk.conf
 内容为:
 # 加载 mod_jk 模块
 LoadModule jk_module modules/mod_jk.so
 #加载集群中的workers
 JkWorkersFile conf/workers.properties
 #指定jk的日志输出文件
 JkLogFile logs/mod_jk.log
 #指定日志级别
 JkLogLevel warn
 #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名
 JkMount /*.jsp controller
 JkMount /* controller
 并新建一个文件workers.properties
 内容为
 #server
 worker.list = controller
 #========tomcat1========
 worker.tomcat1.port=8009
 worker.tomcat1.host=localhost
 worker.tomcat1.type=ajp13
 worker.tomcat1.lbfactor = 1
 #========tomcat2========
 worker.tomcat2.port=8109
 worker.tomcat2.host=localhost
 worker.tomcat2.type=ajp13
 worker.tomcat2.lbfactor = 1
 #========tomcat3========
 #worker.tomcat3.port=13009
 #worker.tomcat3.host=192.168.0.80 //在我的虚拟机中的,可以算远程的吧
 #worker.tomcat3.type=ajp13
 #worker.tomcat3.lbfactor = 1
 
 #========controller,负载均衡控制器========
 worker.controller.type=lb
 worker.controller.balance_workers=tomcat1,tomcat2
 worker.controller.sticky_session=false
 worker.controller.sticky_session_force=1
 #worker.controller.sticky_session=1
 编辑文件httpd.conf
 在文件最后一行加上
 include "E:\Program Files\Apache-Http-Server\conf\mod_jk.conf"
 或者直接将上面两个文件内容放在这里面也是可以的。
 3.为了实现session共享
 修改自己项目里的web.xml,只需要在<web-app/>节点中添加<distributable/>这个节点就可以了。我刚开始没有写这个,然后请求的时候tomcat报错。
 好了,上面就是我的一些总结。
 | 
 | 
| 
 | 
|
|  |  | 
|  |  |