Apache 负载均衡的环境搭建 (使用Tomcat作为web server)
前言
使用tomcat作为web server,搭建Apache 负载均衡的测试环境时,参阅了网上的一些资料。发现资料发布者的本地环境与自己的开发环境差别很大,不能根据网上资料成功搭建起集群测试环境。搭建过程中,遇到了各种问题,比如:多了IPV6协议、Apache服务在win 7 64位机器下的设置等。不过在此,还是要感谢网上资料的提供者,给了我一些参考。下面,我整理了我使用Apache配置Tomcat的过程,供大家参考。在文章的最后,列出了我遇到的问题及解决方案。本次环境搭建是为了测试Apache负载均衡的基本功能,不涉及到tomcat自身集群特性和apache各种负载均衡策略的验证,这次环境搭建只是作为对负载均衡概念的感性认识,更详细的细节,会在以后的研究中逐步深入。
配置过程:
一、本机环境
操作系统:win 7 64位 (带有IPV4、IPV6协议)
JDK:j2sdk1.4.2_19
apache: apache_2.2.2-win32-x86-no_ssl.msi
tomcat:apache-tomcat-5.5.33.zip
apache和tomcat可以在他们的官网上下载到。
二、安装
1. apache安装:双击apache的安装文件,选择推荐的“端口80...”的安装选项,按照提示输入域名、管理员邮箱(这些值不需要是真实的)。
2. tomcat安装:将压缩包分别解压到两个不同目录里,作为两个测试用的tomcat服务器。
三、参数设置
1. apache参数设置:修改httpd.conf
1)将httpd.conf文件里提到的下面三个so文件引用说明中的最前端的注释符号‘#’去掉,使apache引导这三个插件,他们在集群环境里分别起到代理、负载均衡、支持http网络协议等职责。
#LoadModule proxy_module modules/mod_proxy.so#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so#LoadModule proxy_http_module modules/mod_proxy_http.so
ProxyRequests Off <Proxy balancer://mycluster> BalancerMember http://localhost:12080 BalancerMember http://localhost:11080 </Proxy> ProxyPass / balancer://mycluster/
<Server port="8005" shutdown="SHUTDOWN"><Connector address="127.0.0.1" port="11080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /><Connector port="11009" protocol="AJP/1.3" redirectPort="8443"/>
<Server port="8005" shutdown="SHUTDOWN"><Connector address="127.0.0.1" port="12080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /><Connector port="12009" protocol="AJP/1.3" redirectPort="8443"/>
.......//request.getLocalAddr和request.getLocalPort体现了实际处理请求的web server地址和端口<%out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>......
<Connector address="127.0.0.1" port="11080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />