nginx+redis+tomcat7构建session共享 踩的坑

一.基于win7环境

二.nginx 、 redis等的安装配置在此文不在描述。请自行百度。

三.tomcat7配置

1.准备两个tomcat7,这里我们用tomcat7-1,tomcat7-2

2.下载所需要的jar 包,下载地址:http://download.csdn.net/download/zhangyongdingrui/10257360

3.将下载的压缩文件解压,把 tomcat-redis-session-manager-1.2-tomcat-7.jar、jedis-2.2.1.jar、commons-pool-1.6.jar这三个jar分别放到tomcat7-1和tomcat7-2的lib目录

4.分别修改tomcat7-1和tomcat7-2的conf目录下的context.xml文件,在<Context></Context>里加入配置:

<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
    <Manager className="com.radiadesign.catalina.session.RedisSessionManager"  
        host="127.0.0.1" 
        port="6379" 
        password="foobared" 
        database="0" 
        maxInactiveInterval="60">

 </Manager>

:host为redis服务器主机ip;port为redis端口;password为redis密码;

效果如下图:


5.分别修改tomcat7-1和tomcat7-2的端口。

四.nginx配置

1.在http节点下加入配置:

upstream localhost{   
    #ip_hash; 
    server localhost:8080 max_fails=1 fail_timeout=90s; 
    server localhost:8090 max_fails=1 fail_timeout=90s;

    }

由于两个tomcat都在本机,所以upstream的server都指向的本机

2.在server节点下加入配置:

location /{
proxy_pass http://localhost;
#include proxy.conf;

}

具体的配置可参考:http://download.csdn.net/download/zhangyongdingrui/10257410

五.Demo程序

下载链接:http://download.csdn.net/download/zhangyongdingrui/10257429

注:在代码里面存入session的对象(比如User)必须实现  implements Serializable接口,否则从session取的时候取不到






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值