这里我把Redis放在/XX/下,所以在该目录下执行下列命令:
$ wget http://download.redis.io/releases/redis-3.2.1.tar.gz
$ tar xzf redis-3.2.1.tar.gz
$ cd redis-3.2.1
$ make
启动
[root@localhost redis-3.2.1]# ./src/redis-server ../redis.conf
启动报错
解决方法
将redis配置文件拷贝到/etc/redis/${REDISPORT}.conf
# mkdir /etc/redis
# cp /sxcoo/redis-2.8.21/redis.conf /etc/redis/6379.conf
启动
[root@localhost redis-3.2.1]# ./src/redis-server /etc/6379.conf
在我window环境 原创链接测试
可以正常链接
但是存值出错
经查阅资料
在redis3.2之后,redis增加了protected-mode,在这个模式下,即使注释掉了bind 127.0.0.1,再访问redisd时候还是报错。
解决方法 修改redis.conf
protected-mode no
以上redis已经装好了,
现在要做的是将tomcat的session 用redis来管理
详细配置地址:https://github.com/izerui/tomcat-redis-session-manager
本来很简单
1、在tomcat/lib下面添加
commons-pool2-2.2.jar
jedis-2.5.2.jar
tomcat-redis-session-manager-2.0.0.jar
2、修改conf/context.xml,添加
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="localhost"
port="6379"
database="10"
maxInactiveInterval="60"/>
3、启动tomcat。。但是就是不行
一脸懵逼
查看日志没有发现redis相关的异常
最后仔细阅读启动tomcat服务的日志发现了一个
No rules found matching 'Context/Value'.
这个异常是context配置文件的问题。
阅读下载的tomcat-redis-session-manager源码发现源码(tomcat-redis-session-manager)依赖了tomcat其他的包:tomcat-juli.jar而tomcat默认是没有这些包的,从下载tomcat-juli-adapters.jar和tomcat-juli.jar两个包,放在apache-tomcat-7.0.57\lib目录下,同时将tomcat-juli.jar放在apache-tomcat-7.0.57\bin目录下同时将编译tomcat-redis-session-manager的源码,通过相应的依赖包common-pool2.2,jedis以及tomcat-juli.jar编译,
并打成自己的jar包,上传然后将这个依赖包放在apache-tomcat-7.0.57\lib目录下,删除网上下载的tomcat-redis-session-manager-1.2-tomcat-7.jar.
经测试 成功
接下来测试tomcat集群负载均衡和session共享
经测试 成功
接下来测试tomcat集群负载均衡和session共享