`

Apache+Tomcat+JK集群部署

阅读更多

闲来无事,就把公司的项目拿来进行集群的学习,虽然都是网上找的方法,但是仍然浪费我不少精力,不过当最后看到结果出来的时候,还是有一些欣喜。

 

所使用软件包括:

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报错。

 

好了,上面就是我的一些总结。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics