Windws 环境下 Apache + Tomcat + Mod_jk 集群配置
Windws环境下Apache+Mod_jk+Tomcat集群配置
1.所需软件包:
JDK:jdk-6u30-windows-i586.exe
Apache:apache_2.2.14-win32-x86-no_ssl.msi
Tomcat:apache-tomcat-6.0.10.zip
Mod_jk:mod_jk-1.2.31-httpd-2.2.3.so
2.软件安装:
Apache:
下载后直接安装msi即可,如果没有其他的http服务器(如iis)则应该可以成功安装,端口即为80,能够访问http://localhost/说明安装成功。
3.配置过程:
<pre>
1、修改httpd.conf
我的Apache安装在D:\ProgramFiles\ApacheSoftwareFoundation\Apache2.2,找到conf目录下的httpd.conf,在文件的最后一行添加
include"D:\ProgramFiles\ApacheSoftwareFoundation\Apache2.2\conf\mod_jk.conf"
2、新建mod_jk.conf文件,内容如下:
#mod_jk配置mod_jk包
LoadModulejk_modulemodules/mod_jk-1.2.31-httpd-2.2.3.so
#workers配置工作负责文件
JkWorkersFileconf/workers.properties
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名
JkMount/*.jspcontroller
3、将下载的JK插件mod_jk-1.2.31-httpd-2.2.3.so复制到Apache安装目录的modules目录下。
4、新建并编辑workers.properties文件,内容如下:
#server
worker.list=controller
#========tomcat1========
worker.tomcat1.port=8009#AJP端口
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
#========tomcat2========
worker.tomcat2.port=9009#AJP端口
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
这里可以配置任意多个Tomcat,此处配置了2个Tomat服务器,所以为了它们都能够顺利启动起来,本地的服务器端口都是不同的。
5、配置2个Tomcat服务器,将Tomcat解压后复制2份,我将每个文件夹分别命名为Tomcat1,Tomcat2,修改每一份的server.xml配置:
(1)修改server端口号
#tomcat1默认配置
<Serverport="8005"shutdown="SHUTDOWN">
#tomcat2修改端口号为9005
<Serverport="9005"shutdown="SHUTDOWN">
(2)修改HTTPconnector端口号
#tomcat1默认配置
<Connectorport="8080"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
#tomcat2修改端口号为9080
<Connectorport="9080"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
(3)修改AJPconnector端口号
#tomcat1默认配置
<Connectorport="8009"protocol="AJP/1.3"redirectPort="8443"/>
#tomcat2修改端口号9009
<Connectorport="9009"protocol="AJP/1.3"redirectPort="8443"/>
(4)修改engine名称
#tocmat1修改jvmRoute=”tomcat1”
<Enginename="Catalina"defaultHost="localhost"jvmRoute="tomcat1">
#tocmat2修改jvmRoute=”tomcat2”
<Enginename="Catalina"defaultHost="localhost"jvmRoute="tomcat2">
(5)Session复制配置
只要将其中注释掉的<Clusterclassname="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>去掉注释就完成session的集群复制了。
</pre>
4.Tomcat应用项目中web.xml的配置:
<!--此应用将与群集服务器复制Session-->
<distributable/>
5.测试:
建立test项目,需要在项目的web.xml中添加<distributable/>
将项目部署到2个服务器,然后分别启动Apache和2个Tocmat服务器,这些Tomcat启动顺序随意,然后在页面访问项目进行测试。