1、部署两个tomcat节点,使用nginx实现集群(见http://www.cnblogs.com/zhangzhi0556/articles/nginx.html);

 
 
3、建一个简单的web项目,打包发布到各个tomcat中,用于测试session是否真的实现了共享(自己想办法怎么建测试项目)
 
4、下载开源组件tomcat-redis-session-manager
下载方式一:https://github.com/jcoleman/tomcat-redis-session-manager/downloads  (这个是早期的,不支持redis3.0集群)
 
下载方式二(推荐):https://github.com/ran-jit/TomcatClusterRedisSessionManager (支持redis3集群和tomat8)
最好通过以下地址下载:

https://github.com/ran-jit/TomcatClusterRedisSessionManager/wiki/Tomcat-Cluster-Redis-Session-Manager

可以下载TomcatRedisSessionManager-1.0.zip包,解压后包括所需的jar包和配置文件。如下所示:

commons-logging-1.2.jar
commons-pool2-2.4.1.jar
jedis-2.8.0.jar
commons-pool2-2.4.1.jar
commons-logging-1.2.jar
RedisDataCache.properties
 
5、将上面jar包拷贝到各个tomcat的lib目录下, 将RedisDataCache.properties拷到tomcat的conf目录下。
 
6、配置文件修改
(1)修改RedisDataCache.properties配置文件如下:
# redis hosts ex: 127.0.0.1:6379, 127.0.0.2:6379, 127.0.0.2:6380, ....
redis.hosts=192.168.187.131:6379 (redis服务器IP及端口号)
# Redis Password
redis.password= redis (REDIS配置文件中设置的密码)
# set true to enable redis cluster mode
redis.cluster.enabled=false
 
(2)在tomcat/conf/context.xml文件中增加以下两行:
<Valve className="com.r.tomcat.session.management.RequestSessionHandlerValve"/>
 <Manager className="com.r.tomcat.session.management.RequestSessionManager"/>
 
(3)设置tomcat/conf/web.xml 中 session有效期
    <session-config>
         <session-timeout>60<session-timeout>
    <session-config>
如果项目里也配置了session有效期,则以项目中有准。
 
7、先启动redis,再启动tomcat,访问测试项目进行测试。

redis实现tomcat集群session共享的更多相关文章

  1. Shiro+Redis实现tomcat集群session共享

      一.背景 当我们使用了nginx做项目集群以后,就会出现一个很严重的问题亟待解决,那就是:tomcat集群之间如何实现session共享的问题,如果这个问题不解决,就会出现登陆过后再次请求资源依旧 ...

  2. Nginx+Tomcat集群+session共享

    Nginx+Tomcat集群+session共享 1)安装Nginx 2)配置多个Tomcat,在server.xml中修改端口(端口不出现冲突即可) 3)在nginx.conf文件中配置负载均衡池, ...

  3. JEECG & JEESite Tomcat集群 Session共享

    多台tomcat服务的session共享 memcached与redis - JEECG开源社区 - CSDN博客https://blog.csdn.net/zhangdaiscott/article ...

  4. 160513、nginx+tomcat集群+session共享(linux)

    第一步:linux中多个tomcat安装和jdk安装(略) 第二步:nginx安装,linux中安装nginx和windows上有点不同也容易出错,需要编译,这里做介绍 一.安装依赖 gcc open ...

  5. tomcat集群session共享

    Tomcat集群配置其实很简单,在Tomcat自带的文档中有详细的说明( /docs/cluster-howto.html ),只不过是英语的,对我这样的人来说很难懂   .   下面根据说下怎么配置 ...

  6. 160512、nginx+多个tomcat集群+session共享(windows版)

    第一步:下载nginx的windows版本,解压即可使用,点击nginx.exe启动nginx 或cmd命令 1.启动: D:\nginx+tomcat\nginx-1.9.3>start ng ...

  7. 基于Memcached的tomcat集群session共享所用的jar

    多个tomcat各种序列化策略配置如下:一.java默认序列化tomcat配置conf/context.xml添加<Manager className="de.javakaffee.w ...

  8. 基于Memcached的tomcat集群session共享所用的jar及多个tomcat各种序列化策略配置

    原文:http://www.cnblogs.com/interdrp/p/4096466.html 多个tomcat各种序列化策略配置如下:一.java默认序列化tomcat配置conf/contex ...

  9. 使用memcached实现tomcat集群session共享

    环境centos6.7,下载安装必要的软件:yum -y install epel-release(tomcat7在此源上,tomcat7是现在主流版本) yum -y install tomcat ...

随机推荐

  1. WinRAR压缩操作帮助类

    //------------------------------------------------------------------------------------- // All Right ...

  2. Python 之 时间字符串、时间戳、时间差、任意时间字符串转换时间对象

    1. 时间字符串 --> 时间戳 1) time 模块 timestring = '2016-12-21 10:22:56' print time.mktime(time.strptime(ti ...

  3. Linux 命令与文件的搜寻

    平时会偶尔忘记一些命令或者文件,下面的这些命令能够帮我们快速的找到命令或者文件 1. 命令的搜寻 命令:which 功能:在PATH配置的目录下搜寻命令 用法:which [-a] [command] ...

  4. mvc通过controller创建交互接口

    public JsonResult Home(string userName, string password, string type) { List<person> list = ne ...

  5. ADO数据库操作

    void CSjtestDlg::OnBnClickedButtonAdd() { // TODO: 在此添加控件通知处理程序代码 this->ShowWindow(SW_HIDE); DigA ...

  6. 初级Bug率,随时受不了

    一听到初级Bug这个名字,很多开发工程师都会觉得很头痛,还有那个“初级Bug率”,让人随时受不了. 初级Bug这个概念,在多数缺陷跟踪工具中,是不存在的,可以说是淘宝研发部的特色.初级Bug对应Bug ...

  7. Flex数据交互之Remoting

    一 前言 Flex数据交互常用的有三种方式:WebService.HttpService以及Remoting. WebService方式已在这篇文章中给出,这篇文章主要讲解以Remoting方式进行数 ...

  8. ubuntu 14.04 配置JavaWeb开发环境

    本人初学java web,看到网上的资料层次不齐,故总结一下经验供大家参考 1.首先安装jdk,通常可以从官网上下载安装包安装,也可以直接使用命令安装: (1)到oracle官网上下载相应版本的jdk ...

  9. ios调用本地拨打电话,发送短信

    电话.短信是手机的基础功能,iOS中提供了接口,让我们调用.这篇文章简单的介绍一下iOS的打电话.发短信在程序中怎么调用. 1.打电话   [[UIApplication sharedApplicat ...

  10. 关于 JavaScript prototype __proto__ 一点总结

    http://www.cnblogs.com/wbin91/p/5265163.html 先上代码 function(y) Foo{ this.y = y;} Foo.prototype.x = 10 ...