apache+tomcat 集群

第一步、下载apache

            http://httpd.apache.org/download.cgi

            选择某一版本,我下载的是: httpd-2.2.22-win32-x86-no_ssl.msi

        一路next,安装完成后,http://localhost 测试是否成功

第二步、下载tomcat

http://tomcat.apache.org/

        我选择的是tomcat7版本  zip压缩包。解压复制两份。一个为tomcat1,一个为tomcat2

第三步、下载jk

        http://apache.etoak.com//tomcat/tomcat-connectors/jk/binaries/

          下载和apache一致的版本,我这里因为apache是2.2.22,所以下载

      tomcat-connectors-1.2.37-windows-i386-httpd-2.2.x.zip  解压后,把mod_jk.so放到apache安装目录下的modules下。
第四步、配置apache的httpd.conf
      打开apache安装目录下conf/httpd.conf,在最后一行增加:Include conf/mod_jk.conf

            然后再conf目录下新建mod_jk.conf

            mod_jk.conf

[html]  view plain  copy
  1. LoadModule jk_module modules/mod_jk.so  
  2. JkWorkersFile conf/workers.properties  
  3. JkMount /*.jsp controller  

        workers.properties   

[html]  view plain  copy
  1. #server controller对应mod_jk.conf中controller  
  2. worker.list = controller  
  3. #========tomcat1========  
  4. worker.tomcat1.port=9009  
  5. worker.tomcat1.host=localhost  
  6. worker.tomcat1.type=ajp13  
  7. worker.tomcat1.lbfactor = 1  
  8. #========tomcat2========  
  9. worker.tomcat2.port=8009  
  10. worker.tomcat2.host=localhost  
  11. worker.tomcat2.type=ajp13  
  12. worker.tomcat2.lbfactor = 1  
  13. #controller 负载均衡处理器  
  14. worker.controller.type=lb  
  15. worker.controller.balanced_workers=tomcat1,tomcat2  
  16. worker.controller.sticky_session=false  
  17. worker.controller.sticky_session_force=1  
  18. #worker.controller.sticky_session=1  


第五步、修改tomcat1,tomcat2中server.xml配置文件

             1)修改端口号:8080改为8081  <Connector port="8081" protocol="HTTP/1.1" 

               connectionTimeout="20000" 

               redirectPort="8443" /> 

               connectionTimeout="20000" 

               redirectPort="8443" />

    2)修改AJP1.3端口号:8009改为9009

        <!-- Define an AJP 1.3 Connector on port 8009 -->

        <Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />          9009对应workers.properties中9009

              3)修改Engine :

<Engine name="Catalina" defaultHost="localhost"  jvmRoute="tomcat1"> tomcat1对应workers.properties中tomcat1

                  4)去掉Cluster的注释,打开集群(个人理解)

  <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

               

                    同理:tomcat2配置同上,你可以自定义端口号。也可以不用修改用默认的端口号。


   第六步、测试

                  在tomcat1,tomcat2的webapps新建目录test,在test中新建一个test2.jsp内容如下

    把webapps/ROOT的WEB-INF目录复制到test目录中。修改web.xml,增加  
    <distributable/>

[html]  view plain  copy
  1. <%@ page contentType="text/html; charset=GBK" %>  
  2. <%@ page import="java.util.*" %>  
  3. <html><head><title>Cluster App Test</title></head>  
  4. <body>  
  5. Server Info:  
  6. <%  
  7. out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>  
  8. <%  
  9.   out.println("<br> ID " + session.getId()+"<br>");  
  10.   // 如果有新的 Session 属性设置  
  11.   String dataName = request.getParameter("dataName");  
  12.   if (dataName != null && dataName.length() > 0) {  
  13.      String dataValue = request.getParameter("dataValue");  
  14.      session.setAttribute(dataName, dataValue);  
  15.   }  
  16.   out.println("<b>Session 列表</b><br>");  
  17.   System.out.println("============================");  
  18.   Enumeration e = session.getAttributeNames();  
  19.   while (e.hasMoreElements()) {  
  20.      String name = (String)e.nextElement();  
  21.      String value = session.getAttribute(name).toString();  
  22.      out.println( name + " = " + value+"<br>");  
  23.          System.out.println( name + " = " + value);  
  24.    }  
  25. %>  
  26.   <form action="test2.jsp" method="POST">  
  27.     名称:<input type=text size=20 name="dataName">  
  28.      <br>  
  29.     值:<input type=text size=20 name="dataValue">  
  30.      <br>  
  31.     <input type=submit>  
  32.    </form>  
  33. </body>  
  34. </html>  


第七步、启动apache,tomcat1,tomcat2。
         输入http://localhost/test/test2.jsp

         可实现session的复制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值