实现基于tomcat集群会话保持
2017-11-26 18:48
429 查看
1、实验环境
我们需要准备两台虚拟机,把这两台虚拟机组成集群,实现会话保持。2、配置server1
2.1 修改nginx配置文件
[root@server1 ~]# vim /etc/nginx/nginx.conf upstream tomcat_cluser { #ip_hash; server 192.168.37.111:8080 weight=1; server 192.168.27.122:8080 weight=2; } location / { #index index.php index.html index.htm; proxy_pass http://tomcat_cluser; } location ~* \.(jsp|do)$ { proxy_pass http://tomcat_cluser; }
修改完成之后,重启我们的nginx服务。
2.2 修改tomcat配置文件
[root@server1 ~]# vim server.xml <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.ClusterSessionListener"/> </Cluster>
2.3 创建一个session页面
[root@server1 webapps]# mkdir test [root@server1 webapps]# vim test/session.jsp <%@ page language="java" %> <html> <head><title>TomcatA</title></head> <body> <h1><font color="blue">TomcatA</h1> <table align="centre" border="1"> <tr> <td>Session ID</td> <% session.setAttribute("abc","abc"); %> <td><%= session.getId() %></td> </tr> <tr> <td>Created on</td> <td><%= session.getCreationTime() %></td> </tr> </table> </body> </html>
2.4 修改web.xml
[root@server1 webapps]# cd test/ [root@server1 test]# ls session.jsp [root@server1 test]# mkdir WEB-INF/ [root@server1 test]# cp /usr/local/tomcat/conf/web.xml WEB-INF/ [root@server1 test]# cd WEB-INF/ [root@server1 WEB-INF]# ls web.xml [root@server1 WEB-INF]# vim web.xml
在web.xml下 在
</web-app>上方加入
<distributable/>
设置一个标签
修改完成之后,重启我们的tomcat服务:
[root@server1 WEB-INF]# catalina.sh stop [root@server1 WEB-INF]# catalina.sh start
接着,我们就去修改第二台机器。
三、配置server2
3.1 修改tomcat配置文件
本台机器和第一台机器的设置相似,直接把文件拷过来就可以了:[root@server1 ~]# scp /usr/local/tomcat/conf/server.xml root@192.168.37.122:~ root@192.168.37.122's password: server.xml 100% 8026 7.8KB/s 00:00 [root@server2 conf]# cp ~/server.xml . cp: overwrite ‘./server.xml’? yes
3.2 创建一个session页面
[root@server2 webapps]# mkdir test [root@server2 webapps]# vim test/session.jsp <%@ page language="java" %> <html> <head><title>TomcatB</title></head> <body> <h1><font color="blue">TomcatB</h1> <table align="centre" border="1"> <tr> <td>Session ID</td> <% session.setAttribute("abc","abc"); %> <td><%= session.getId() %></td> </tr> <tr> <td>Created on</td> <td><%= session.getCreationTime() %></td> </tr> </table> </body> </html>
3.3 修改web.xml
[root@server2 webapps]# cd test/ [root@server2 test]# ls session.jsp [root@server2 test]# mkdir WEB-INF/ [root@server2 test]# cp /usr/local/tomcat/conf/web.xml WEB-INF/ [root@server2 test]# cd WEB-INF/ [root@server2 WEB-INF]# ls web.xml [root@server2 WEB-INF]# vim web.xml
在web.xml下 在
</web-app>上方加入
<distributable/>
设置一个标签
修改完成之后,重启我们的tomcat服务:
[root@server2 WEB-INF]# catalina.sh stop [root@server2 WEB-INF]# catalina.sh start
四、测试
我们直接去网页测试我们的会话保持实现没有:可以看出,我们的会话保持已经实现。
实验完成。
相关文章推荐
- 基于tomcat集群会话保持
- 基于Tomcat集群的会话保持
- tomcat原理及安装及反向代理、会话保持、session集群和session共享服务器的实现(一)
- 基于Tomcat集群的会话保持
- 实现tomcat基于session会话保持
- 基于tomcat集群会话保持(DeltaManager)
- 集群中的session共享存储 实现会话保持
- 通过 Terracotta实现基于Tomcat的Web应用集群
- Ubuntu下基于Nginx实现Tomcat集群负载均衡
- Nginx+Tomcat+Memcached实现会话保持
- Nginx + tomcat 实现简单集群(基于反向代理方式)
- tomcat基于session会话保持以及msm会话保持
- Tomcat(三) Tomcat安装配置: Tomcat+Nginx+keepalived 实现动静分离、Session会话保持的高可用集群
- 基于Tomcat构建LNMT架构的网站并实现Session保持 推荐
- 通过 Terracotta实现基于Tomcat的Web应用集群
- tomcat 集群及会话保持实验示例
- Tomcat 实现会话保持
- tomcat cluster和tomcat+memcached实现Session会话保持
- Tomcat/Memcached实现会话保持(SessionServer)
- 为什么要使用tomcat+memcache实现session共享而不使用会话保持