tomcat-session-redis配置

Session持久机制三种实现方法:

1、session绑定:始终将来自同一个源IP的请求定向至同一个RS;没有容错能力;有损均衡效果(sh)

2、session复制:在RS之间同步session,每个RS拥有集群中的所有的session;对规模集群不适用;必须RS支持(lblcr)

3、session服务器:利用单独部署的服务器来统一管理集群中的session;(单有单点故障)


nginx-tomcat-redis(session共享)配置实例

环境:两台机器:

    10.15.51.141:tomcatA

    10.15.51.222:tomcatB、nginx、redis

步骤:

1. 所需要的包,放入到tomcat目录的lib目录下(附件中)

commons-pool-1.6.jar

jedis-2.1.0.jar

tomcat-redis-session-manager-1.2-tomcat-7.jar


2. 配置tomcat目录下的conf/context.xml,加入以下内容:


         #session失效时间(秒)


3. nginx配置:

http{
    upstream aaa {
    server 10.15.51.222:8080;
    server 10.15.51.141:8080;
    }
server {
    server_name aaa.test.com;
    listen 80;
    location {
access_log  logs/ning_access.txt;
        proxy_pass http://aaa;
        }
    }
}


4、在两台tomcat中添加以下内容方便测试

A提供测试:

# mkdir -pv test/WEB-INF/{classes,lib}
# vim test/index.jsp
<%@ page language="java" %>

  TomcatA
  
    

Tomcata.10.15.51.222.com

                    Session ID     <% session.setAttribute("ning.com","ning.com"); %>         <%= session.getId() %>                       Created on         <%= session.getCreationTime() %>              

B提供测试:

# mkdir -pv test/WEB-INF/{classes,lib}
# vim test/index.jsp
<%@ page language="java" %>

  TomcatB
  
    

TomcatB.10.15.51.141.com

                    Session ID     <% session.setAttribute("ning.com","ning.com"); %>         <%= session.getId() %>                       Created on         <%= session.getCreationTime() %>              


访问:

http://IP:80/test 或http://IP/test