码迷,mamicode.com
首页 > 其他好文 > 详细

tomcat session cluster

时间:2016-06-14 06:30:04      阅读:132      评论:0      收藏:0      [点我收藏+]

标签: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 session cluster

标签:tomcat 会话集群

原文地址:http://linsj.blog.51cto.com/5440766/1788964

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!