[总结]配置Apache2.2负载平衡+Tomcat6集群 [转]
2009-07-31 17:49
573 查看
配置Apache2.2负载平衡+Tomcat6集群.txt 参考资料: http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/mod/mod_proxy.html http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/mod/mod_proxy_balancer.html 所谓负载均衡(loadbalance)所指的是,在服务器端短时间内获得大量的请求,单一服务器无法在一个较短的时间内响应这些请求, 此时服务器需要一个机制,请求按照多个服务器不同的负载能力,把这些请求合理的分配。 集群(cluster)的作用则是在多个服务器之间共享用户信息,资源等。 说明:一台apache2.2服务器,两台tomcat服务器 一台负载均衡apache2.2服务器负责请求的均衡,群集服务器A和群集服务器B组成一个群集,当某个群集服务器崩溃后,另外一台继续负责应用程序的运行。 介绍:apache对tomcat的支持历史:apache第2.1版本后,内置了proxy_ajp,而jk2已经没人开发了,jk则支持到apache的2.0.58版本。proxy_ajp配置较简单,但可配置性还不如jk2,主要表现在proxy_ajp目前只支持配置到目录,还不支持对文件名称的pattern模式匹配(即还不能定义到只对jsp文件起作用)。 安装JDK1.5以上版本,安装Apache2.2,安装Tomcat6,配置Apache负载平衡,配置Tomcat集群 一,安装JDK(所有运行Tomcat主机,即web服务器) 1.下载JDK的bin包 2.设置环境变量 #vi /etc/profile 在其最后加入 JAVA_HOME=/usr/java export JAVA_HOME CLASSPATH=/usr/java/lib:/usr/java/jre/lib export CLASSPATH PATH=$PATH JAVA_HOME/bin JAVA_HOME/jre/bin export PATH JRE=/usr/java/jre export JRE 保存退出 二,配置负载均衡服务器Apache2.2 1.下载apache2.2.4,安装相关组件 http://www.sunfreeware.com/indexintel10.html中下载apache-2.2.4-sol10-x86-local.gz,expat-1.95.5-sol10-intel-local.gz,libiconv-1.11-sol10-x86-local.gz,openssl-0.9.8e-sol10-x86-local.gz,libgcc-3.4.6-sol10-x86-local.gz 安装方法: 解压缩: gzip -d apache-2.2.4-sol10-x86-local.gz 安装:pkgadd -d apache-2.2.4-sol10-x86-local 2.查看编译进apache的模块: #cd /usr/local/apache2/bin #httpd -l Compiled in modules: core.c prefork.c http_core.c mod_so.c 3.修改/usr/local/apache2/conf/httpd.conf文件 将以下Module的注释去掉(其实已经去掉了) LoadModule proxy_module modules/mod_proxy.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 LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 并在最后面,增加 <Location /server-status> SetHandler server-status Order Deny,Allow Deny from all Allow from all </Location> <Location /balancer-manager> SetHandler balancer-manager Order Deny,Allow Deny from all Allow from all </Location> ProxyRequests Off ProxyPass / balancer://tomcatcluster/ stickysession=jsessionid nofailover=On ProxyPass /temp http://192.168.1.8:8080/temp/ #ProxyPassReverse / balancer://tomcatcluster/ ProxyPassReverse /ccas balancer://tomcatcluster/ccas/ ProxyPassReverse /clpay balancer://tomcatcluster/clpay/ <Proxy balancer://tomcatcluster> BalancerMember ajp://192.168.1.8:8009 loadfactor=1 BalancerMember ajp://192.168.1.29:8009 smax=1 loadfactor=1 # Less powerful server,don't send as many requests there BalancerMember ajp://192.168.1.29:80 smax=1 loadfactor=2 </Proxy> ProxyPass为代理转发的Url,即将所有访问/的请求转发到群集balancer://tomcatcluster BalancerMember为群集的成员,即群集服务器A或B,负载均衡服务器会根据均衡规则来将请求转发给BalancerMember。 配置好后,启动Apahce服务器,访问localhost就会看到群集服务器中应用返回的结果。恭喜你,负载均衡和群集已经配置成功了。 访问localhost/balancer-manager,显示负载均衡有关信息 4.进入/usr/local/apache2/bin目录,运行 # ./apachectl configtest命令检查一下配置是否有误 显示Syntax OK,说明配置正确 5.启动/关闭/重新启动apache 启动apache # ./apachectl start 关闭apache # ./apachectl stop 三,安装配置tomcat6集群 1.下载apache-tomcat-6.0.13.tar.gz(http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.13/bin/apache-tomcat-6.0.13.tar.gz) 2.安装apache-tomcat-6.0.13.tar.gz 安装在目录/usr/apache/tomcat # gzip -d apache-tomcat-6.0.13.tar.gz 3.解决在solaris下显示验证码出错 在/usr/apache/tomcat/bin/catalina.sh中的第266/278行加上-Djava.awt.headless=true / 4.启动tomcat服务器 测试是否正常 # cd /usr/apache/tomcat/bin/ # ./startup.sh 5.修改tomcat 的 conf/server.xml 的<Engine>(使用arp协议时配置) 去掉注释<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1"> jvmRoute是tomcat路由标示,由此区分两台tomcat主机,那么第二台就改为 <Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat2"> 加上注释<Engine name="Catalina" defaultHost="localhost"> 6.修改tomcat 的 conf/server.xml 的<Connector>(使用arp协议时配置) 去掉注释<Connector port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" /> 7.修改tomcat 的 conf/server.xml 的<Cluster> <!-- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> --> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6"> <Manager className="org.apache.catalina.ha.session.BackupManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true" mapSendOptions="6"/> <!-- <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> --> <Channel className="org.apache.catalina.tribes.group.GroupChannel"> <Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/> <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="5000" selectorTimeout="100" maxThreads="6"/> <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> </Sender> <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/> </Channel> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*/.gif;.*/.js;.*/.jpg;.*/.png;.*/.htm;.*/.html;.*/.css;.*/.txt;"/> <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster> 8.在每个webapps应用中,修改配置文件web.xml文件 添加元素<distributable/> 在web.xml文件中<web-app>元素下增加以下内容: <!--此应用将与群集服务器复制Session--> <distributable/> 具体修改如下: 修改前: <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> </web-app> 修改后: <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <!--此应用将与群集服务器复制Session--> <distributable/> </web-app> |
相关文章推荐
- Apache2.2+tomcat-7.0.42 集群配置学习笔记(windows篇)
- windows XP下Apache2.2+Tomcat6.0集群安装配置
- Web开发:Apache2.2.x+Tomcat6.x+jk2.x做集群配置
- windows下php5 apache2.2 mysql5 配置中的问题总结
- win(32)+apache2.2+svn1.5.2配置总结
- apache2.2+tomcat6集群配置
- apache2.2 + tomcat7 集群配置记录
- apache2.2+tomcat7.0.53+ehcache1.5分布式缓存集群配置完整版
- Windows + Apache 2.2+Tomcat7 集群配置
- CentOS下apache负载均衡与JBoss集群配置总结
- Apache2.2 + tomcat5.5 集群以及负载均衡配置测试
- Apache2.2+Tomcat5.5负载均衡+集群配置
- Windows中Apache2.2 Tomcat7 集群配置
- Apache2.2+Tomcat5.5负载均衡+集群配置
- Apache2.2.x+Tomcat6.x+jk2.x做集群配置 推荐
- Windows下Apache2.2+Tomcat6配置集群、负载均衡、session共享
- Apache2.2+Tomcat6配置集群、负载均衡、session复制随笔
- 总结apache2.2和2.4和tomcat负载均衡配置和总结。
- Apache2.2+tomcat6.0集群配置
- Apache2.2+Tomact6配置集群、负载均衡、Session共享