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启动顺序随意,然后在页面访问项目进行测试。

相关推荐