本文环境:OS:CentOS 5.3 x86_64  Apache 一台(Apache/2.2.3,本文是rpm 安装的)ip 为:192.168.10.251  Tomcat 两台(apache-tomcat-6.0.20.tar.gz)  Tomcat-1 IP 为:192.168.10.252  Tomcat-2 IP 为:192.168.10.253

1. 首先分别安装Apache,jdk,tomcat 并且可以正常运行(略)

2. 配置Apache

[root@linuxidc ]# cd /etc/httpd/conf  [root@linuxidc ]# vi httpd.conf  (1) 启动代理模块(去掉如下模块前面的注释)  LoadModule proxy_module modules/mod_proxy.so  LoadModule proxy_balancer_module modules/mod_proxy_balancer.so  LoadModule proxy_ftp_module modules/mod_proxy_ftp.so  LoadModule proxy_http_module modules/mod_proxy_http.so  LoadModule proxy_connect_module modules/mod_proxy_connect.so  LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

(2) 在文件的最后面加入如下代理负载均衡信息  ProxyRequests Off  <proxy balancer://cluster>  BalancerMember ajp://192.168.10.252:8009/b loadfactor=1 route=jvm1  BalancerMember ajp://192.168.10.253:8009/a loadfactor=1 route=jvm2  </proxy>  解释:其中192.168.10.252:8009/b 和192.168.10.253:8009/a 分别为两个tomcat  的项目,jvm1 和jvm2 是标识,要和下文的tomcat 配置文件保持一致,其中端  8009 为ajp 协议的Apache 和tomact 的通讯端口

(3) 配置虚拟主机  <VirtualHost *:80>  ServerAdmin www.linuxidc.com  ProxyPass / balancer://cluster/ stickysession=jsessionid  nofailover=On  ProxyPassReverse / balancer://cluster/  </VirtualHost>

3. 重启Apache 服务  [root@linuxidc ]# /etc/init.d/httpd restart

4. Tomcat 的配置  (1) 分别把事先准备好的两个war 包丢到/usr/local/tomcat/webapps/目录中,这样当  tomcat 启动的时候就会自动解包,war 包的名称分别为b.war 和a.war 分别属于  192.168.10.252 和192.168.10.253 即访问方式为:http://192.168.10.252:8080/b 和  http://192.168.10.253:8080/a,内容分别为bbbbbbbbbb 和aaaaaaaaaaa(此处是为了区  分)  (2) 配置主配置文件  [root@linuxidc-2 conf]# cd /usr/local/tomcat/conf/  [root@linuxidc-2 conf]# vi server.xml  找到如下一行  <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">  注意这里的 jvm1 一定要和Apache 的代理配置相同即192.168.10.253 此处应该改为  jvm2  (3) 重新启动tomcat

5. 现在就可以验证结果了, 在测试机的host 文件里指定www.linuxidc.com 对应为  192.168.10.251,然后在浏览器里访问:http:// www.linuxidc.com 会发现返回的是两个tomcat  的项目页面而且是轮询,为了更直观的查看可以用如下命令  [root@linuxidc-2 conf]# curl www.linuxidc.com  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  <html>  <head>  <base href="http://192.168.10.251:80/a/">  <title>My JSP 'index.jsp' starting page</title>  <meta http-equiv="pragma" content="no-cache">  <meta http-equiv="cache-control" content="no-cache">  <meta http-equiv="expires" content="0">  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  <meta http-equiv="description" content="This is my page">  <!--  &lt;link rel="stylesheet" type="text/css" href="styles.css">  --&gt;  </head>  <body>  <h1>aaaaaaaaaaaaa</h1>  </body>  </html>  [root@linuxidc-2 conf]#curl http://192.168.10.251/  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  <html>  <head>  <base href="http://192.168.10.251:80/b/">  <title>My JSP 'index.jsp' starting page</title>  <meta http-equiv="pragma" content="no-cache">  <meta http-equiv="cache-control" content="no-cache">  <meta http-equiv="expires" content="0">  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  <meta http-equiv="description" content="This is my page">  <!--  &lt;link rel="stylesheet" type="text/css" href="styles.css">  --&gt;  </head>  <body>  <h1>bbbbbbbbbbbbb</h1>  </body>  </html>