Apache2.2+tomcat6.0集群配置
2011-12-19 17:10
399 查看
一、环境安装:
1.下载apache:http://httpd.apache.org/
2.下载tomcat:http://tomcat.apache.org/
3.下载mod_jk:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
4.安装apache(选择全部安装)
5.解压安装tomcat,解压四次,分别对其文件夹命名为tomca1,tomcat2,tomcat3,tomca4;再对其每个文件夹bin目录下的编辑catalina.bat文件,查找if "%TITLE%",修改set title=后面的名称(即tomcat启动窗口显示的名称,可以区分后面多个tomcat窗口,可以分别命名为tomcat1,tomcat2,tomcat3,tomcat4)
二、配置apache:
1.把下载到mod_jk文件复制到apache安装目录下的modules文件夹下面
2.在apache的安装目录下,找到conf文件夹,在此目录下新建文件workers.properties文件,并编辑,内容如下:
#server
worker.list = controller1,controller2
#========tomcat1========
worker.tomcat1.port=8009
worker.tomcat1.host=192.168.2.10
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#========tomcat2========
worker.tomcat2.port=8010
worker.tomcat2.host=192.168.2.10
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1
#========tomcat3========
worker.tomcat3.port=8013
worker.tomcat3.host=192.168.2.133
worker.tomcat3.type=ajp13
worker.tomcat3.lbfactor = 1
#========tomcat4========
worker.tomcat4.port=8014
worker.tomcat4.host=192.168.2.133
worker.tomcat4.type=ajp13
worker.tomcat4.lbfactor = 1
#========controller1,负载均衡控制器========
worker.controller1.type=lb
worker.controller1.balanced_workers=tomcat1,tomcat2
worker.controller1.sticky_session=1
#========controller2,负载均衡控制器========
worker.controller2.type=lb
worker.controller2.balanced_workers=tomcat3,tomcat4
worker.controller2.sticky_session=1
3.新建文件mod_jk.conf文件,编辑内容如下:
#加载mod_jk Module
LoadModule jk_module modules/mod_jk.so
#指定 workers.properties文件路径
JkWorkersFile conf/workers.properties
#指定哪些请求交给tomcat处理,"controller1"为在workers.propertise里指定的负载分配控制器名
#JkMount /*.jsp controller1
4.修改httpd.conf文件:
在文件最后添加: include "D:\Apache2.2\conf\mod_jk.conf"
去掉#Include conf/extra/httpd-vhosts.conf 这句话前面的#(即去掉注释)
找到ServerName 修改为ServerName *:80(后面为你上面的监听端口,只要一个就行)
如需监听多个端口可以再listen下面多加行:
Listen 80
Listen 90
5.修改虚拟主机extra\httpd-vhosts.conf文件
NameVirtualHost *:80
NameVirtualHost *:90
<VirtualHost *:80>
ServerAdmin webmaster@neu.com
ServerName www.neu.com:80
ServerAlias www.neu.com
JkMount /* controller1
</VirtualHost>
<VirtualHost *:90>
ServerAdmin webmaster@neu.com
ServerName www.neu.com:90
ServerAlias www.neu.com
JkMount /* controller2
</VirtualHost>
上面的具体参数值跟你前面的配置相对应就是了
三、配置tomcat的server.xml文件:
分别修改你解压的四个tomcat下面的server.xml文件,以tomcat1为例:
修改shutdown端口号:<Server port="8006" shutdown="SHUTDOWN">
修改http的端口号: <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
修改AJP协议的端口号: <Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />(用于apache与tomcat连接的通道)
修改 <Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1"> (jvmRoute的值与你workers.propertiies文件中配置的tomcat名称一致)
去掉Cluster节点的注释:
<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="4001"
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;"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
要注意其中Receiver 节点里面的port号,如果在同一台电脑上的安装了几个tomcat其端口号要不一样,你四个tomcat可以分别4001,4002,4003,4004
其他三个tomcat的server.xml文件配置也相同,只是注意如果在同一台电脑上的端口问题,不要冲突,其端口的配置也要和你workers.properties文件中的配置一致就行
好了该配置的就差不多完成了
四、测试:
新建一个java web工程,再新建一个index.jsp页面:
代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>首页</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">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<h2>tomcat集群及负载均衡测试</h2>
<h3>tomcat服务器信息:</h3>
<%
System.out.println("index.jsp");
%>
<%
out.println(request.getLocalAddr()+":"+request.getLocalPort()+"<br />");
out.println("id:"+session.getId()+"<br />");
String dataName=request.getParameter("dataName");
if(dataName!=null && dataName.length()>0)
{
String dataValue=request.getParameter("dataValue");
session.setAttribute(dataName,dataValue);
}
out.println("session列表"+"<br />");
Enumeration e=session.getAttributeNames();
while(e.hasMoreElements())
{
String name=(String)e.nextElement();
String value=session.getAttribute(name).toString();
out.println(name+"="+value+"<br />");
System.out.println(name+"="+value);
}
%>
<form action="index.jsp" method="post">
名称:<input type="text" size="20" name="dataName" /><br />
值 :<input type="text" size="20" name="dataValue" /><br />
<input type="submit" value="提交" id="submitBtn">
</form>
</body>
</html>
建好工程后,把工程部署到四个tomcat中,即把整个工程文件夹拷贝到tomcat的webapps文件夹下面
然后启动apache和四个tomcat进行测试
1.下载apache:http://httpd.apache.org/
2.下载tomcat:http://tomcat.apache.org/
3.下载mod_jk:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
4.安装apache(选择全部安装)
5.解压安装tomcat,解压四次,分别对其文件夹命名为tomca1,tomcat2,tomcat3,tomca4;再对其每个文件夹bin目录下的编辑catalina.bat文件,查找if "%TITLE%",修改set title=后面的名称(即tomcat启动窗口显示的名称,可以区分后面多个tomcat窗口,可以分别命名为tomcat1,tomcat2,tomcat3,tomcat4)
二、配置apache:
1.把下载到mod_jk文件复制到apache安装目录下的modules文件夹下面
2.在apache的安装目录下,找到conf文件夹,在此目录下新建文件workers.properties文件,并编辑,内容如下:
#server
worker.list = controller1,controller2
#========tomcat1========
worker.tomcat1.port=8009
worker.tomcat1.host=192.168.2.10
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#========tomcat2========
worker.tomcat2.port=8010
worker.tomcat2.host=192.168.2.10
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1
#========tomcat3========
worker.tomcat3.port=8013
worker.tomcat3.host=192.168.2.133
worker.tomcat3.type=ajp13
worker.tomcat3.lbfactor = 1
#========tomcat4========
worker.tomcat4.port=8014
worker.tomcat4.host=192.168.2.133
worker.tomcat4.type=ajp13
worker.tomcat4.lbfactor = 1
#========controller1,负载均衡控制器========
worker.controller1.type=lb
worker.controller1.balanced_workers=tomcat1,tomcat2
worker.controller1.sticky_session=1
#========controller2,负载均衡控制器========
worker.controller2.type=lb
worker.controller2.balanced_workers=tomcat3,tomcat4
worker.controller2.sticky_session=1
3.新建文件mod_jk.conf文件,编辑内容如下:
#加载mod_jk Module
LoadModule jk_module modules/mod_jk.so
#指定 workers.properties文件路径
JkWorkersFile conf/workers.properties
#指定哪些请求交给tomcat处理,"controller1"为在workers.propertise里指定的负载分配控制器名
#JkMount /*.jsp controller1
4.修改httpd.conf文件:
在文件最后添加: include "D:\Apache2.2\conf\mod_jk.conf"
去掉#Include conf/extra/httpd-vhosts.conf 这句话前面的#(即去掉注释)
找到ServerName 修改为ServerName *:80(后面为你上面的监听端口,只要一个就行)
如需监听多个端口可以再listen下面多加行:
Listen 80
Listen 90
5.修改虚拟主机extra\httpd-vhosts.conf文件
NameVirtualHost *:80
NameVirtualHost *:90
<VirtualHost *:80>
ServerAdmin webmaster@neu.com
ServerName www.neu.com:80
ServerAlias www.neu.com
JkMount /* controller1
</VirtualHost>
<VirtualHost *:90>
ServerAdmin webmaster@neu.com
ServerName www.neu.com:90
ServerAlias www.neu.com
JkMount /* controller2
</VirtualHost>
上面的具体参数值跟你前面的配置相对应就是了
三、配置tomcat的server.xml文件:
分别修改你解压的四个tomcat下面的server.xml文件,以tomcat1为例:
修改shutdown端口号:<Server port="8006" shutdown="SHUTDOWN">
修改http的端口号: <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
修改AJP协议的端口号: <Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />(用于apache与tomcat连接的通道)
修改 <Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1"> (jvmRoute的值与你workers.propertiies文件中配置的tomcat名称一致)
去掉Cluster节点的注释:
<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="4001"
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;"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
要注意其中Receiver 节点里面的port号,如果在同一台电脑上的安装了几个tomcat其端口号要不一样,你四个tomcat可以分别4001,4002,4003,4004
其他三个tomcat的server.xml文件配置也相同,只是注意如果在同一台电脑上的端口问题,不要冲突,其端口的配置也要和你workers.properties文件中的配置一致就行
好了该配置的就差不多完成了
四、测试:
新建一个java web工程,再新建一个index.jsp页面:
代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>首页</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">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<h2>tomcat集群及负载均衡测试</h2>
<h3>tomcat服务器信息:</h3>
<%
System.out.println("index.jsp");
%>
<%
out.println(request.getLocalAddr()+":"+request.getLocalPort()+"<br />");
out.println("id:"+session.getId()+"<br />");
String dataName=request.getParameter("dataName");
if(dataName!=null && dataName.length()>0)
{
String dataValue=request.getParameter("dataValue");
session.setAttribute(dataName,dataValue);
}
out.println("session列表"+"<br />");
Enumeration e=session.getAttributeNames();
while(e.hasMoreElements())
{
String name=(String)e.nextElement();
String value=session.getAttribute(name).toString();
out.println(name+"="+value+"<br />");
System.out.println(name+"="+value);
}
%>
<form action="index.jsp" method="post">
名称:<input type="text" size="20" name="dataName" /><br />
值 :<input type="text" size="20" name="dataValue" /><br />
<input type="submit" value="提交" id="submitBtn">
</form>
</body>
</html>
建好工程后,把工程部署到四个tomcat中,即把整个工程文件夹拷贝到tomcat的webapps文件夹下面
然后启动apache和四个tomcat进行测试
相关文章推荐
- windows XP下Apache2.2+Tomcat6.0集群安装配置
- apache2.2+tomcat6.0集群/负载均衡
- 使用Apache2.2整合Tomcat6配置单机服务器集群解决方案
- Apache2.2+tomcat6集群和负载均衡的配置
- Windows下Apache2.2+Tomcat6配置集群、负载均衡、session共享
- apache2.2+tomcat7.0.53+ehcache1.5分布式缓存集群配置完整版
- Apache2.2 + tomcat7 服务器集群配置
- [总结]配置Apache2.2负载平衡+Tomcat6集群 [转]
- apache2.2 + tomcat6 整合以及集群配置
- apache2.2+tomcat6集群配置
- Apache2.2+Tomcat5.5负载均衡+集群配置
- Web开发:Apache2.2.x+Tomcat6.x+jk2.x做集群配置
- Apache2.2+Tomact6配置集群、负载均衡、Session共享
- Windows中Apache2.2 Tomcat7 集群配置
- Windows + Apache 2.2+Tomcat7 集群配置
- Apache2.2.x+Tomcat6.x+jk2.x做集群配置 推荐
- apache2.2 + tomcat6 整合以及集群配置整理
- Apache2.2 + tomcat7 服务器集群配置
- Apache2.2 + tomcat5.5 集群以及负载均衡配置测试
- apache2.2+tomcat6.0集群/负载均衡