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

你可能感兴趣的:(apache,jdk,tomcat)