author:JevonWei
版权声明:原创作品


环境

tomcatA    172.16.253.108
tomcatB    172.16.253.105
代理服务器 172.16.253.191

Tomcat session集群

  • Cluster配置文档http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html

Tomcat A

[root@tomcatA ~]# yum -y install tomcat-lib tomcat tomcat-webapps tomcat-docs-webapp tomcat-admin-webapps \\tomcat-admin-webapps为tomcat管理应用程序包 tomcat-docs-webapp为tomcat的在线文档软件包
[root@tomcatA ~]# iptables -F
[root@tomcatA ~]# setenforce 0
[root@tomcatA ~]# ls /usr/share/tomcat/webapps/
docs  examples  host-manager  manager  ROOT  sample
[root@tomcatA ~]# ls /var/lib/tomcat/webapps/
docs  examples  host-manager  manager  ROOT  sample
[root@tomcatA ~]# mkdir -pv /data/webapps/ROOT/{classes,lib,WEB-INF}
[root@tomcatA ~]# vim /data/webapps/ROOT/WEB-INF/index.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>
[root@tomcatA ~]# vim /data/webapps/ROOT/index.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>配置Tomcat 集群
[root@tomcatA ~]# vim /etc/tomcat/server.xml <Engine name="Catalina" defaultHost="www.jevon1.com" jvmRoute="tcA"> \\定义默认host主机,且添加Route标识符区别集群中的各Tomcat节点将以下内容或http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html中的Cluster配置放置到Engine或host区域即可,以下放置在了Engine区域<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"channelSendOptions="8"><Manager className="org.apache.catalina.ha.session.DeltaManager" \\使用Delta会话管理器expireSessionsOnShutdown="false" \\永不过期notifyListenersOnReplication="true"/><Channel \\定义集群中的成员及通信 className="org.apache.catalina.tribes.group.GroupChannel"><Membership className="org.apache.catalina.tribes.membership.McastService" \\成员关系判定,使用多播地址通信address="228.13.5.5" \\定义通信的多播地址,224-239网段port="45564" \\发送多播信息的端口frequency="500" \\发送信号的间隔dropTime="3000"/> \\最长信号信号间隔超时时长<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" \\接收会话的机制,NioReceiver异步IO模式address="172.16.253.108" \\定义接收信息的监听地址,可为auto自动识别接收IP地址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"/><Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" \\自动调用部署器部署集群tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/><ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> \\集群的监听器<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/></Cluster><Host name="www.jevon1.com" appBase="/data/webapps" unpackWARs="true" autoDeploy="true" ><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="jevon_access_log" suffix=".log"pattern="%h %l %u %t &quot;%r&quot; %s %b" /></Host>
[root@tomcatA ~]# cp /etc/tomcat/web.xml /data/webapps/ROOT/WEB-INF/
[root@tomcatA ~]# cd /data/webapps/ROOT/WEB-INF/
[root@tomcatA WEB-INF]# vim web.xml在<web-app区域中添加<distributable/>   元素,如下<web-app xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><distributable/>
[root@tomcatA tomcat]# systemctl start tomcat  

Tomcat B

[root@tomcatB ~]# yum -y install tomcat-lib tomcat tomcat-webapps tomcat-docs-webapp tomcat-admin-webapps \\tomcat-admin-webapps为tomcat管理应用程序包 tomcat-docs-webapp为tomcat的在线文档软件包
[root@tomcatB ~]# iptables -F
[root@tomcatB ~]# setenforce 0
[root@tomcatB ~]# ls /usr/share/tomcat/webapps/
docs  examples  host-manager  manager  ROOT  sample
[root@tomcatB ~]# ls /var/lib/tomcat/webapps/
docs  examples  host-manager  manager  ROOT  sample
[root@tomcatB ~]# mkdir -pv /usr/share/tomcat/webapps/test/{classes,lib,WEB-INF,META-INF}
[root@tomcatB ~]# vim /data/webapps/ROOT/index.jsp<%@ page language="java" %> \\表示页面的编程语言<%@ page import="java.util.*" %> \\导入的java类库<html><head><title>Test Page</title> \\网页的标题</head><body><% out.println("hello world");%></body></html>
[root@TomcatB ~]# vim /etc/tomcat/server.xml <Engine name="Catalina" defaultHost="www.jevon2.com" jvmRoute="tcB"> \\定义默认host主机,且添加Route标识符区别集群中的各Tomcat节点将以下内容或http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html中的Cluster配置放置到Engine或host区域即可,以下放置在了Engine区域<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"channelSendOptions="8"><Manager className="org.apache.catalina.ha.session.DeltaManager" \\使用Delta会话管理器expireSessionsOnShutdown="false" \\永不过期notifyListenersOnReplication="true"/><Channel \\定义集群中的成员及通信 className="org.apache.catalina.tribes.group.GroupChannel"><Membership className="org.apache.catalina.tribes.membership.McastService" \\成员关系判定,使用多播地址通信address="228.13.5.5" \\定义通信的多播地址,224-239网段port="45564" \\发送多播信息的端口frequency="500" \\发送信号的间隔dropTime="3000"/> \\最长信号信号间隔超时时长<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" \\接收会话的机制,NioReceiver异步IO模式address="172.16.253.105" \\定义接收信息的监听地址,可为auto自动识别接收IP地址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"/><Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" \\自动调用部署器部署集群tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/><ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> \\集群的监听器<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/></Cluster><Host name="www.jevon2.com" appBase="/data/webapps" unpackWARs="true" autoDeploy="true" ><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="jevon_access_log" suffix=".log"pattern="%h %l %u %t &quot;%r&quot; %s %b" /></Host>
[root@tomcatB ~]# cp /etc/tomcat/web.xml /data/webapps/ROOT/WEB-INF/
[root@tomcatB ~]# cd /data/webapps/ROOT/WEB-INF/
[root@tomcatB WEB-INF]# vim web.xml在<web-app区域中添加<distributable/>   元素,如下<web-app xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><distributable/>
[root@tomcatA tomcat]# systemctl start tomcat  

Nginx代理
代理服务器

[root@danran ~]# vim /etc/nginx/nginx.confhttp {upstream appsrvs {server www.jevon1.com:8080;server www.jevon2.com:8080;}server {listen 80;server_name www.danran.com;index index.jsp index.html;root /usr/share/nginx/html;location / {proxy_pass http://appsrvs/;}}}
[root@danran ~]# systemctl start nginx

转载于:https://www.cnblogs.com/JevonWei/p/7471445.html

Tomcat session集群相关推荐

  1. Redis + Tomcat + Nginx 集群实现 Session 共享

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者 | 蕃薯耀 链接 | www.cnblogs.com/fan ...

  2. nginx+tomcat实现集群负载均衡(实现session复制)

    架构描述 前端一台nginx服务器做负载均衡器,后端放N台tomcat组成集群处理服务,通过nginx转发到后面(注:没做动静分离,静态动态全部都转给tomcat) 优点:实现了可弹性化的架构,在压力 ...

  3. Apache+Tomcat +mod_proxy集群负载均衡及session

      序言: 在玩Apache+Tomcat +mod_jk集群负载均衡及session的时候发现,还有一种方式可以实现,就是网上各位大牛们说的mod_proxy反向代理. 实在弄的我的知识细胞洋洋.实 ...

  4. tomcat实现session集群及tomcat+memcached共享session存储(四)

    接博客nginx或httpd实现负载均衡tomcat(三) tomcat实现会话管理原理及实现: tomcat管理会话使用的专用的会话管理组件,tomcat的会话管理器有4种: 1.标准会话管理器(S ...

  5. Nginx+memcached+tomcat配置集群session共享负载均衡

    Nginx+memcached+tomcat配置集群session共享负载均衡 配置环境: windows xp下 jdk1.7.0_10      nginx-1.2.6  (附下载)      m ...

  6. Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享

    转载自  Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享 一.Session共享使用tomcat-cluster-redis-session-mana ...

  7. C#session共享+redis_Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享

    作者:蕃薯耀 链接:www.cnblogs.com/fanshuyao 一.Session共享使用tomcat-cluster-redis-session-manager插件实现 插件地址见: htt ...

  8. Redis+Tomcat实现集群的Session管理

    Redis+Tomcat实现集群的Session管理 本地环境 JDK java version "1.8.0_102" Tomcat apache-tomcat-7.0.90 R ...

  9. Cent OS – Tomcat 7 - 集群

    Cent OS – Tomcat 7 - 集群 集群方式: 使用一个Apache HTTP Server 加mod_jk-1.2.31-httpd-2.2.3.so 实现负载均衡的策略.两个Tonca ...

  10. 结合Apache和Tomcat实现集群和负载均衡

    http://fableking.iteye.com/blog/360870 TomcatApacheJSP应用服务器Web  本文基本参考自 轻松实现Apache,Tomcat集群和负载均衡,经由实 ...

最新文章

  1. 最棒 Spring Boot 干货总结(超详细,建议收藏)
  2. win7不显示移动硬盘_win7系统插上移动硬盘后灯一直闪但是不识别如何解决
  3. ios mdm更新应用_因使用MDM下架的家长控制应用OurPact重返App Store
  4. sqlsugar 批量删除guid类型主键_一文上手SqlSugar 「C# 数据操作系列」
  5. php中OpenFlashChart使用之线性图表使用例子
  6. 图解Tomcat类加载机制(阿里面试题)
  7. centos7设置成文件服务器,CentOS7服务器架设ftp过程
  8. 酷动网博客整站源码+Panda PRO主题+7000条完整数据
  9. mysql5.7.23安装详细过程
  10. nanopc t3开发板系统烧录_基础教程18 定制 Arduino 系统
  11. 两道图片隐写的CTF题
  12. CC2430基础——IAR的安装及配置
  13. Maxwell参数化建模
  14. 打开 Windows 10 默认共享
  15. php难学习吗,学php难吗
  16. 找出数组中其中最大的数及其下标
  17. 【VMware】虚拟机中映射USB设备
  18. NoSQL数据库笔谈(2)
  19. ybt1287 最低通行费
  20. 【Python入门指北】 Python计算机二级知识点

热门文章

  1. 2019 PC 台式机垃圾佬 记录
  2. JAVA语言程序设计课后习题----第八单元解析(仅供参考)
  3. 2018.09.02 bzoj1025: [SCOI2009]游戏(计数dp+线筛预处理)
  4. 论docker中 CMD 与 ENTRYPOINT 的区别
  5. Nginx ssl证书部署方法
  6. ASP.NET ZERO 学习 JTable的使用
  7. Android 编程下 ListView 的 HeaderView 和 FooterView 不可选择点击
  8. Javascript 使用Qunit单元测试
  9. oracle 筆記(事務,鎖)
  10. IAR下STM32工程建立基本步骤