标签:tomcat 会话集群
使用httpd反代负载均衡后端tomcat,tomcat使用自带的集群服务实现会话集群;
实现环境:
node1:172.18.11.111 TomcatA
node2:172.18.11.112 TomcatB
node3:172.18.11.113 反代调度器httpd
分别在node1和node2上安装tomcat:
]# vim /etc/profile.d/java.sh
export JAVA_HOME=/usr
]# . /etc/profile.d/java.sh
]# yum install tomcat tomcat-lib tomcat-webapps tomcat-admin-webapps -y
]# cd /var/lib/tomcat/webapps/
]# mkdir testapp
]# cd testapp/
]# mkdir classes lib WEB-INF META-INF
]# vim /var/lib/tomcat/webapps/testapp/test.jsp
<%@ page language="java" %>
<html>
<head><title>TomcatA</title></head>
<body>
<h1><font color="red">TomcatA.magedu.com</font></h1>
<table align="centre" border="1">
<tr>
<td>Session ID</td>
<% session.setAttribute("magedu.com","magedu.com"); %>
<td><%= session.getId() %></td>
</tr>
<tr>
<td>Created on</td>
<td><%= session.getCreationTime() %></td>
</tr>
</table>
</body>
</html>
]# scp -r /var/lib/tomcat/webapps/testapp/ node2:/var/lib/tomcat/webapps/
]# vim /etc/tomcat/server.xml
添加在host配置段:
<Context path="/test" docBase="testapp"/>
在node2:
]# vim /var/lib/tomcat/webapps/testapp/test.jsp
<%@ page language="java" %>
<html>
<head><title>TomcatB</title></head>
<body>
<h1><font color="blue">TomcatB.magedu.com</font></h1>
<table align="centre" border="1">
<tr>
<td>Session ID</td>
<% session.setAttribute("magedu.com","magedu.com"); %>
<td><%= session.getId() %></td>
</tr>
<tr>
<td>Created on</td>
<td><%= session.getCreationTime() %></td>
</tr>
</table>
</body>
</html>
分别启动node1和node2上的tomcat:
]# systemctl start tomcat.service
]# ss -tnl 监听在8080端口;
(1)配置tomcat启用集群:
在node1:
]# vim /etc/tomcat/server.xml
在node2:
]# vim /etc/tomcat/server.xml
(2)添加<distributable/>指令:
在node1:
]# cp /etc/tomcat/web.xml /var/lib/tomcat/webapps/testapp/WEB-INF/
]# vim /var/lib/tomcat/webapps/testapp/WEB-INF/web.xml
添加:<distributable/>
把该配置文件复制一份到node2上:
]# scp /var/lib/tomcat/webapps/testapp/WEB-INF/web.xml node2:/var/lib/tomcat/webapps/testapp/WEB-INF/
在node1和node2分别启动tomcat:
]# systemctl start tomcat.service
在node3上:
使用httpd的mod_proxy模块、mod_proxy_ajp模块、mod_proxy_balancer模块:
httpd使用ajp模块就意味着tomcat只能使用ajp链接器了。
安装httpd:
]# yum -y install httpd
]# vim /etc/httpd/conf.d/mod_proxy_ajp.conf
]# httpd -t
]# systemctl start httpd.service
在浏览器输入:http://172.18.11.113/test/test.jsp
基于调度器后端不同主机,但会话保持不变;
以上就是基于tomcat会话集群方式实现会话保持的。
标签:tomcat 会话集群
原文地址:http://linsj.blog.51cto.com/5440766/1788964