windows下Apache+tomcat集群-基于Proxy的方式

1. 准备工作

1.下载Apache:http://httpd.apache.org/
2. 下载Tomcat:http://httpd.apache.org/
本人用的tomcat7,解压下来复制一份,就可以做两个tomcat的集群。
安装目录如下:

2. 集群配置

Tomcat配置
tomcat-7.0.54_1:
apache-tomcat-7.0.54_1\conf\server.xml:
更改端口,因为两个tomcat使用的默认端口都是8080,所有修改tomcat1的端口8081
Line 70:

<Connector port="8081" protocol="HTTP/1.1"  
              connectionTimeout="20000"  
              redirectPort="8443" />  

接着修改AJP的端口,默认8009,修改成8019,同时打开引擎如下:
Line92:

<Connector port="8109" protocol="AJP/1.3" redirectPort="8443" />  
  
  <!-- An Engine represents the entry point (within Catalina) that processes  
       every request.  The Engine implementation for Tomcat stand alone  
       analyzes the HTTP headers included with the request, and passes them  
       on to the appropriate Host (virtual host).  
       Documentation at /docs/config/engine.html -->  
  
  <!-- You should set jvmRoute to support load-balancing via AJP ie :  
  <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">  
  -->  
  <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">  

tomcat-7.0.54_2:
端口使用tomcat默认的8080,AJP使用默认的端口8009,
只需要打开Engiee引擎

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">  

Apache配置:
Apache的默认端口是80
Apache2.2\conf\httpd.conf最后加入
ProxyRequests Off   

PS:1. 这儿的端口8009和8019是AJP的端口,不是访问Tomcat的HTTP端口。
       

  <proxy balancer://cluster>   
          BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=tomcat1  
          BalancerMember ajp://127.0.0.1:8109 loadfactor=1 route=tomcat2  
   </proxy>  

2.  route要和Tomcat中配置的名称相同。

集群配置完毕,可以往被集群的Tomcat的webapp下部署文件。启动Apache、Tomcat1、Tomcat2。
访问地址:http://localhost/项目名称。这里其实是访问的Apache服务器,由Apache集群去找Tomcat服务器。