apache + tomcat 集群配置 proxy方式
    假设两个tomcat分别安装在192.168.0.203和192.168.0.204,apache安装在192.168.0.205. 
假设网站访问域名为www.test.com 
假设apache的document路径为/opt/web 
1. jre预装的是1.6.0_30-b12 
2. apache预装的是2.2 
3. tomcat安装6.0.35 
tomcat路径/opt/ 
4. 在Apache安装目录下找到conf/httpd.conf文件,以文本编辑器打开。 
apache目录路径/etc 
1) 确保以下内容已添加,以便Apache在启动时自动加载代理(proxy)模块。 
LoadModule proxy_module modules/mod_proxy.so  
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so  
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so  
LoadModule proxy_connect_module modules/mod_proxy_connect.so  
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so  
LoadModule proxy_http_module modules/mod_proxy_http.so 
2) NameVirtualHost *:80 这句注释去掉,修改为NameVirtualHost 192.168.0.205:80 
3) 在文档最下面加上如下内容: 
<VirtualHost 192.168.0.203:80> 
    ServerName www.test.com 
    ServerAlias *.test.com 
    DocumentRoot /opt/web 
    DirectoryIndex index.html 
    ProxyRequests Off 
    <proxy balancer://cluster_test>   
      BalancerMember ajp://192.168.0.203:8009 loadfactor=1 route=node_test_203 
      BalancerMember ajp://192.168.0.204:8009 loadfactor=1 route=node_test_204 
    </proxy>  
    ProxyPassMatch ^(/.*\.jsp)$ balancer://cluster_test/ stickysession=JSESSIONID|jsessionid 
    ProxyPassMatch ^(/.*\.action)$ balancer://cluster_test/ stickysession=JSESSIONID|jsessionid 
    ProxyPass / ! 
    ProxyPassReverse / balancer://cluster_test/ 
    ErrorLog "logs/test-error.log"  
    CustomLog "logs/test-access.log" common  
    <Directory "/opt/web"> 
      Options FollowSymLinks 
      AllowOverride None 
      Order allow,deny 
      Allow from all 
    </Directory> 
</VirtualHost> 
5.打开tomcat安装目录下conf/server.xml文件。 
1) 修改关闭端口,如果一台服务器上启动多个tomcat实例,必须关闭端口是不一样的,<Server port="8005" shutdown="SHUTDOWN">。 
2) 修改tomcat的监听端口,如果一台服务器启动多个tomcat实例,必须修改。 
<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" /> 
3) 修改ajp端口,这里端口设置必须和前面第一步第三小步骤中配置的端口一致。 
例如上面BalancerMember ajp://192.168.0.203:8009 loadfactor=1 route=node_test_203这句,ajp端口是8009 
找到如下内容: 
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 
4) 修改引擎路径 
找到如下内容: 
<Engine name="Catalina" defaultHost="localhost"> 
192.168.0.203的服务器上修改为: 
<Engine name="Catalina" defaultHost="localhost" jvmRoute="node_test_203"> 
192.168.0.204上修改为: 
<Engine name="Catalina" defaultHost="localhost" jvmRoute="node_test_204"> 
jvmRoute的值和前面第一步第三步骤中route值对应。 
碰到问题: 
(13)Permission denied: proxy: AJP: attempt to connect to 192.168.0.250:9002 (192.168.0.250) failed 
原因:SELinux on RHEL/CentOS by default ships so that httpd processes cannot initiate outbound connections 
解决:/usr/sbin/setsebool -P httpd_can_network_connect 1