Apache2.2+Tomcat7026集群

配置环境:Apache2.2.21  Tomcat7.0.26 JDK6

 

一、先配置tomcat

      1、首先安装JDk,配置JAVA_HOME和Catalina_home。

      2、  找到tomcat目录下的conf文件夹,打开servler.xml,在server.xml中的<Engine>元素下添加如下<Cluster>子元素:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
<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="4000"
autoBind="100"
selectorTimeout="5000"
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"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>

      3、将所发布项目下的web.xml加上<distributable/>元素。

      4、在配置好的tomcat下可以在你的项目中加上这样一个页面作为测试:

<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="java.util.*" %>
<html>
<head><title>cluster</title></head>
<body>
<span style="background-color:red;color:white"> Tomcat所在的服务器的IP地址</span>
<%
System.out.println(session.getId());
out.println("<br> SESSION ID:" + session.getId()+"<br>");
String name = request.getParameter("name");
if(name != null && name.length() > 0) {
String value = request.getParameter("value");
session.setAttribute(name, value);
}
out.print("<b>Session List:</b><br/>");
Enumeration<String> names = session.getAttributeNames();
while (names.hasMoreElements()) {
String sname = names.nextElement();
String value = session.getAttribute(sname).toString();
out.println( sname + " = " + value+"<br/>");
System.out.println( sname + " = " + value);
}
%>
<form action="cluster.jsp" method="post">
名称:<input type=text size=20 name="name"><br/>
数值:<input type=text size=20 name="value"><br/>
<input type=submit value="提交">
</form>
</body>
</html>


       4、tomcat配置好好后,可以把它拷贝到其他机器上去,这样就不用一个一个的配置了。


二、安装并配置Apache

       1、apache的安装

             在Network Domain中输入自己应用的域名,如果仅作为本地测试的话,可以填写localhost。在Server Name中填写服务器的名称,如果仅作本地测试,可以填写localhost。

            安装好apache后,打开浏览器,在地址栏输入http://localhost回车,出现It works的页面,则安装成功。             

           2、配置文件

            打开apache目录下的conf/httpd.conf文件,取消如下6条语句前的注释

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


            也可以将以上语句拷贝后,直接添加在httpd.conf文件中。

        3、配置负载均衡

           在conf/httpd.conf文件最后加上如下语句

<VirtualHost *:80>
ServerAdmin x@x.com
ServerName localhost  #这里填写和安装apache时输入的Server Name等
ServerAlias localhost
ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid nofailover=On
ProxyPassReverse / balancer://cluster/
</VirtualHost>
ProxyRequests Off
<proxy balancer://cluster>
BalancerMember ajp://192.168.1.220:8009 loadfactor=1 smax=5 max=20 ttl=120 retry=300 timeout=15
BalancerMember ajp://192.168.1.230:8009 loadfactor=1 smax=5 max=20 ttl=120 retry=300 timeout=15
ProxySet lbmethod=byrequests
</proxy>

         上面只是配置了两台tomcat,还可以再增加。loadfactor表示负载因子,表示一台服务器所承载的任务量,在这里是以百分比分配的。两台机器的loadfactor都是1表示每台机器承载的任务量是50%,如果有3台机器都是1,每台机器承载的任务量就是33.33333%,以此类推,可以根据机器的性能适量的分配。retry表示apache重新和tomcat服务器联系的时间,单位是秒,如果一台服务器故障后,apache会在300秒后再尝试联系这台服务器并给他分配任务,这个时间可以自己调。

          4、检测负载均衡状态

               修改conf/httpd.conf,添加如下配置

LoadModule status_module modules/mod_status.so
<Location /balancer-manager>
SetHandler balancer-manager
Order Allow,Deny
Allow from all
</Location>

             启动apache后,可以在浏览器中访问监测页面,地址为http://localhost/balancer-manager。此页面只适合测试用,生产环境中不要使用。

5、重启apache

           配置好以后各项后,重启apache,打开tomcat就OK了。可以进入测试页面测试集群配置,也可以进行监测。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值