liuxiaoyun111 发表于 2017-1-9 09:09:37

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:\Program Files\Apache Software Foundation\Apache2.2,找到conf目录下的httpd.conf,在文件的最后一行添加
   include "D:\Program Files\Apache Software Foundation\Apache2.2\conf\mod_jk.conf"

2、新建mod_jk.conf文件,内容如下:
   #mod_jk 配置mod_jk包
   LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so
   #workers 配置工作负责文件
   JkWorkersFile conf/workers.properties
   #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名
   JkMount /*.jsp controller
   
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 默认配置
          <Server port="8005" shutdown="SHUTDOWN">
          #tomcat2 修改端口号为9005
          <Server port="9005" shutdown="SHUTDOWN">

    (2) 修改HTTP connector端口号
          #tomcat1默认配置
          <Connector port="8080" protocol="HTTP/1.1"   
               connectionTimeout="20000"   
               redirectPort="8443" />
          #tomcat2 修改端口号为9080
          <Connector port="9080" protocol="HTTP/1.1"   
               connectionTimeout="20000"   
               redirectPort="8443" />

    (3) 修改 AJP connector 端口号
          #tomcat1 默认配置
          <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
          #tomcat2 修改端口号9009
          <Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />

    (4) 修改 engine 名称
          #tocmat1 修改jvmRoute=”tomcat1”
          <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
          #tocmat2 修改jvmRoute=”tomcat2”
          <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">

    (5) Session复制配置
          只要将其中注释掉的<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>去掉注释就完成session的集群复制了。
   </pre>

4. Tomcat应用项目中web.xml的配置:
   <!--此应用将与群集服务器复制Session-->
    <distributable/>

5. 测试:
   建立test项目,需要在项目的web.xml中添加<distributable/>
   将项目部署到2个服务器,然后分别启动Apache和2个Tocmat服务器,这些Tomcat启动顺序随意,然后在页面访问项目进行测试。
页: [1]
查看完整版本: Windws 环境下 Apache + Tomcat + Mod_jk 集群配置