实现基于tomcat集群会话保持

  我们需要准备两台虚拟机,把这两台虚拟机组成集群实现会话保持
|名称|IP|
|:---:|:---:|
|server1|192.168.37.111|
|server2|192.168.37.122|

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 ; } location ~* \.(jsp|do)$ { proxy_pass ; }

  修改完成之后,重启我们的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="http://www.likecs.com/"/> <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster>

实现基于tomcat集群会话保持

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> <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集群会话保持


  修改完成之后,重启我们的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> <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集群会话保持


  修改完成之后,重启我们的tomcat服务:

[root@server2 WEB-INF]# catalina.sh stop [root@server2 WEB-INF]# catalina.sh start 四、测试

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyzzyj.html