Tomcat session集群
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 "%r" %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 "%r" %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集群相关推荐
- Redis + Tomcat + Nginx 集群实现 Session 共享
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者 | 蕃薯耀 链接 | www.cnblogs.com/fan ...
- nginx+tomcat实现集群负载均衡(实现session复制)
架构描述 前端一台nginx服务器做负载均衡器,后端放N台tomcat组成集群处理服务,通过nginx转发到后面(注:没做动静分离,静态动态全部都转给tomcat) 优点:实现了可弹性化的架构,在压力 ...
- Apache+Tomcat +mod_proxy集群负载均衡及session
序言: 在玩Apache+Tomcat +mod_jk集群负载均衡及session的时候发现,还有一种方式可以实现,就是网上各位大牛们说的mod_proxy反向代理. 实在弄的我的知识细胞洋洋.实 ...
- tomcat实现session集群及tomcat+memcached共享session存储(四)
接博客nginx或httpd实现负载均衡tomcat(三) tomcat实现会话管理原理及实现: tomcat管理会话使用的专用的会话管理组件,tomcat的会话管理器有4种: 1.标准会话管理器(S ...
- Nginx+memcached+tomcat配置集群session共享负载均衡
Nginx+memcached+tomcat配置集群session共享负载均衡 配置环境: windows xp下 jdk1.7.0_10 nginx-1.2.6 (附下载) m ...
- Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享
转载自 Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享 一.Session共享使用tomcat-cluster-redis-session-mana ...
- C#session共享+redis_Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享
作者:蕃薯耀 链接:www.cnblogs.com/fanshuyao 一.Session共享使用tomcat-cluster-redis-session-manager插件实现 插件地址见: htt ...
- Redis+Tomcat实现集群的Session管理
Redis+Tomcat实现集群的Session管理 本地环境 JDK java version "1.8.0_102" Tomcat apache-tomcat-7.0.90 R ...
- Cent OS – Tomcat 7 - 集群
Cent OS – Tomcat 7 - 集群 集群方式: 使用一个Apache HTTP Server 加mod_jk-1.2.31-httpd-2.2.3.so 实现负载均衡的策略.两个Tonca ...
- 结合Apache和Tomcat实现集群和负载均衡
http://fableking.iteye.com/blog/360870 TomcatApacheJSP应用服务器Web 本文基本参考自 轻松实现Apache,Tomcat集群和负载均衡,经由实 ...
最新文章
- 最棒 Spring Boot 干货总结(超详细,建议收藏)
- win7不显示移动硬盘_win7系统插上移动硬盘后灯一直闪但是不识别如何解决
- ios mdm更新应用_因使用MDM下架的家长控制应用OurPact重返App Store
- sqlsugar 批量删除guid类型主键_一文上手SqlSugar 「C# 数据操作系列」
- php中OpenFlashChart使用之线性图表使用例子
- 图解Tomcat类加载机制(阿里面试题)
- centos7设置成文件服务器,CentOS7服务器架设ftp过程
- 酷动网博客整站源码+Panda PRO主题+7000条完整数据
- mysql5.7.23安装详细过程
- nanopc t3开发板系统烧录_基础教程18 定制 Arduino 系统
- 两道图片隐写的CTF题
- CC2430基础——IAR的安装及配置
- Maxwell参数化建模
- 打开 Windows 10 默认共享
- php难学习吗,学php难吗
- 找出数组中其中最大的数及其下标
- 【VMware】虚拟机中映射USB设备
- NoSQL数据库笔谈(2)
- ybt1287 最低通行费
- 【Python入门指北】 Python计算机二级知识点
热门文章
- 2019 PC 台式机垃圾佬 记录
- JAVA语言程序设计课后习题----第八单元解析(仅供参考)
- 2018.09.02 bzoj1025: [SCOI2009]游戏(计数dp+线筛预处理)
- 论docker中 CMD 与 ENTRYPOINT 的区别
- Nginx ssl证书部署方法
- ASP.NET ZERO 学习 JTable的使用
- Android 编程下 ListView 的 HeaderView 和 FooterView 不可选择点击
- Javascript 使用Qunit单元测试
- oracle 筆記(事務,鎖)
- IAR下STM32工程建立基本步骤