1. 搭建tomcat7集群
查看
高性能web架构之Nginx+tomcat配置tomcat集群和反向代理
http://blog.youkuaiyun.com/a379936197/article/details/50767113
2. 配置redis
查看
http://blog.youkuaiyun.com/a379936197/article/details/50759838
注意因为目前版本session-manager只支持单节点redis所以只需要启动一个redis即可,不用配置集群。并把redis的配置文件的集群改成no
所以做到第五步启动一个redis就可以了记住该redis 端口号和IP
3. 配置session共享
配好tomcat7集群后把以下jar 放入所有tomcat/libs/ 中
commons-pool2-2.4.2.jar
http://pan.baidu.com/s/1i4t6Eqh
jedis-jedis-2.7.2.jar
http://pan.baidu.com/s/1c1y04NY
redis-session-manager.jar
http://pan.baidu.com/s/1mhkDpR6
并在tomcat/conf/Context.xml中配置以下内容
具体的类路径一定要以自己编译出来的为准,并配置好redis 单节点的IP和端口
<Valve className=" com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve"/>
<ManagerclassName="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="192.168.1.121"
port="6381"
database="0"
maxInactiveInterval="60"/>
首先启动redis 节点
然后启动tomcat 先启动一个,看看启动报不报错,不报错后启动所有tomcat
然后启动nginx
启动后我们用myeclipse创建一个web 项目
把jsp 内容改成
编译成后放入tomcat 中并把放入两个tomcat 的项目中的jsp一个改成111111,一个改成222222,用来区分不同的tomcat。
然后访问nginx 的代理地址
http://192.168.1.120:8888/sessionManager/index.jsp
这样这个jsp请求会根据负载权重分配到不同的tomcat中,并查看sessionID是否相同
可以看到两个tomcat中的sessions是一样的。并且他们都存在redis中。我们可以在redis中根据sessionID取出session
这样基于nginx+tomcat+redis集群的session共享就完成了