apache + tomcat负载均衡配置详解

1 环境准备

(1)Apache

(2)四个Tomcat

2 Apathe配置

2.1 httpd.conf配置(*\Apache\conf\httpd.conf)

(1)将Module的注释去掉

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

(2) <IfModule dir_module></IfModule>处加上 index.jsp

<IfModule dir_module>
DirectoryIndex index.html index.jsp
</IfModule>

(3)在最下面加入四个 BalancerMember成员(配置的 tomcat集群)

<proxy balancer://cluster> 

BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1

BalancerMember ajp://127.0.0.1:9003 loadfactor=1 route=jvm2

BalancerMember ajp://127.0.0.1:9004 loadfactor=1 route=jvm3

BalancerMember ajp://127.0.0.1:9005 loadfactor=1 route=jvm4

</proxy>
 

2.2 httpd-vhosts.conf设置

APACHE的虚拟主机设置如下:

首先要修改 conf/httpd.conf找到(#Include conf/extra/httpd-vhosts.conf)把注释去掉。

# Virtual hosts

Include conf/extra/httpd-vhosts.conf

在文件(extra/httpd-vhosts.conf)最下面加入 

<span style="font-size:12px;"><VirtualHost *:80>
         ServerAdmin mdtu.com
         ServerName localhost
         ServerAlias localhost
         ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On
         ProxyPassReverse / balancer://cluster/
</VirtualHost></span><span style="font-size: 12pt;">
</span>

3 配置tomcat(conf/server.xml

3.1 配置server的关闭

tomcat1、tomcat2、tomcat3、tomcat4端口分别使用8005,8006,8007,8008

<Server port="8005" shutdown="SHUTDOWN">
<Server port="8006" shutdown="SHUTDOWN">
<Server port="8007" shutdown="SHUTDOWN">
<Server port="8008" shutdown="SHUTDOWN">

3.2 配置Engine

把原来的配置注释掉,把原有的带jvmRoute="jvm1"的一行去掉注释

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

注:其它的tomcat2、tomcat3、tomcat4同样配置,只是将jvmRoute的值设置成jvm2、jvm3、jvm4

3.3 配置Connector

原来的配置

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

此处port端口要改为和httpd.conf文件中配置的<proxy balancer://cluster> 中的端口一致,同时把redirectPort中的值改成唯一的,确保四个tomcat的都不一样

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Connector port="9003" protocol="AJP/1.3" redirectPort="8444" />
<Connector port="9004" protocol="AJP/1.3" redirectPort="8445" />
<Connector port="9005" protocol="AJP/1.3" redirectPort="8446" />

3.4 配置Cluster

原来的配置

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

修改后的配置: 注:<Receiver port=""> 该port要唯一

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6">

     <Manager className="org.apache.catalina.ha.session.BackupManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true" mapSendOptions="6"/>

     <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="4000" 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>

3.5 附端口表











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值