Tomcat集群

本文详细介绍了如何设置Tomcat集群,包括复制并修改多个Tomcat实例的配置文件,如更改端口和设置jvmRoute,将web.xml设置为共享模式,并最终展示了通过集群实现的跨服务器数据共享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步


将tomcat复制三份,分别命名为:apache-tomcat-1、apache-tomcat-2、apache-tomcat-3




第二步
将三个容器的server.xml配置文件进行修改
主要有五点:
//主端口不能一致:7005、8005、9005
<Server port="7005" shutdown="SHUTDOWN">


//客户端端口不能一致:7080、8080、9080
<Connector port="7080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />


//链接端口不能一致:7009、8009、9009(8443为协调端口,可以一致)
<Connector port="7009" protocol="AJP/1.3" redirectPort="8443" />


//添加jvmRoute(集群中的名称):tomcat1、tomcat2、tomcat3
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">


//放出集群配置
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>




第三步
将项目的web.xml更改为共享模式(以广播的方式发送到其他页面。默认为复制模式)
<!-- 默认情况为复制,distributable为共享,一般位于/web-app之前 -->
<distributable/>




第四步
查看结果
<%
String dataName = request.getParameter("dataName");
if (dataName != null  && dataName.length() > 0) {
String dataValue = request.getParameter("dataValue");
session.setAttribute(dataName, dataValue);
}
%>
Server Info:
<%
out.println(request.getLocalAddr() + ":" + request.getLocalPort());
out.println("Session ID:" + session.getId());
Enumeration<String> e = session.getAttributeNames();
while (e.hasMoreElements()){
  String name =(String) e.nextElement();
  String value = session.getAttribute(name).toString();
  out.println(name+":"+value);
}
%>
<form action="index.jsp" method="post">
NAME:<input type="text" size=20 name="dataName"> <br>
Value:<input type="text" size=20 name="dataValue"> <br>
<input type="submit" value="提交" >
</form>


开启时注意环境配置变量关闭掉
CATALINA_HOME
C:\o\tomcat\tomcat7
发现实现了数据共享
Server Info: 0:0:0:0:0:0:0:1:7080 Session ID:97986273E3859AAFA4703B3E63139940.tomcat1 22:33
Server Info: 0:0:0:0:0:0:0:1:8080 Session ID:97986273E3859AAFA4703B3E63139940.tomcat2 22:33
Server Info: 0:0:0:0:0:0:0:1:9080 Session ID:97986273E3859AAFA4703B3E63139940.tomcat3 22:33
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值