一、redis安装(我的环境centos6.5) 已安装可以跳过
1、下载:http://download.redis.io/releases/redis-2.8.19.tar.gz
2、编译源程序:
解压:tar zxvf redis-2.8.19.tar.gz
tar zxvf redis-2.8.19.tar.gz
cd redis-2.8.19/src
编译:如果没有gcc就执行一下 yum install gcc gcc-c++ -y
make
.......省略编译过程,内容太多了.............
CC redis-check-dump.o
LINK redis-check-dump
CC redis-check-aof.o
LINK redis-check-aof
Hint: It‘s a good idea to run ‘make test‘ ;)
然后执行make install编译安装
make install
Hint: It‘s a good idea to run ‘make test‘ ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
3、安装完成后,src下 就会生成redis的命令文件:(我这里放在usr的local下)
创建两个文件夹,bin存放命令文件,etc存放配置文件(可以根据自己规划而定)
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc
移动配置文件:将redis-2.8.19目录下的redis.conf移动到 /usr/local/redis/etc/
并将src目录下的7个命令文件(mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server),移动到/usr/local/redis/bin/
ls (查看redis-2.8.19文件目录)
00-RELEASENOTES COPYING Makefile redis.conf sentinel.conf utils
BUGS deps MANIFESTO runtest src
CONTRIBUTING INSTALL README runtest-sentinel tests
mv ./redis.conf /usr/local/redis/etc/ (移动配置文件到自己新建的etc目录下)
cd src
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server /usr/local/redis/bin/
4、启动Redis服务:
进入自己新建的redis bin目录/usr/local/redis/bin:
[[email protected] src]$ cd /usr/local/redis/bin
[[email protected] bin]$ ls
mkreleasehdr.sh redis-check-aof redis-cli redis-server
redis-benchmark redis-check-dump redis-sentinel
启动:redis服务需要用到命令redis-server(进入到/usr/local/redis/bin 目录下)
加一个& 为后台启动
cd /usr/local/redis/bin
./redis-server /usr/local/redis/etc/redis.conf &
省略启动内容
[13054] 15 Mar 22:36:47.952 * The server is now ready to accept connections on port 6379
redis安全:
配置:
#禁止远程修改DB地址
rename-command FLUSHALL ""
rename-command CONFIG ""
rename-command EVAL ""
1、指定redis服务使用的网卡
在 redis.conf 文件中找到 “# bind 127.0.0.1” ,把前面的#号去掉,然后保存。注:修改后只有本机才能访问redis。多ip之间用空格分隔
bind 127.0.0.1 192.168.3.3
2、设置访问密码
在 redis.conf 中找到“requirepass”字段,在后面填上你需要的密码。
requirepass mypassword
3、修改redis服务运行账号
请以较低权限账号运行redis服务,且禁用该账号的登录权限。
注意:redis 需要重启生效。
客户端登录的时候需要 auth mypassword 验证密码才能执行命令
或者在客户端连接是 redis.cli -h 127.0.0.1 -p 6379 -a mypassword
################################################################
二、配置tomcat与redis session共享(注意:为了session共享,至少是两个tomcat ,同一个系统需要server.xml里端口,如果tomcat在各自不同的系统,则不需要)
tomcat7下载地址:http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.65/bin/
解压tomcat
tar -zxvf apache-tomcat-7.0.65.tar
cd apache-tomcat-7.0.65
进入tomcat解压目录的conf配置目录下,编辑context.xml,建立连接池
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"
host="localhost"
port="6379"
database="0"
password="123456"
maxInactiveInterval="60"/>
#这里的host是ip或者localhost,port为redis端口,database默认为0,password为密码 如果redis设置密码需要加上,如果没有 可以去掉, maxInactiveInterval 设置session连接超时时间
加入依赖包
最后在tomcat bin目录下加入依赖包(需要jdk7版本,如果没有,先卸载jdk旧版本,下载安装jdk7)
下载jdk7:wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.rpm
下载依赖包,百度云盘共享地址:http://pan.baidu.com/s/1b1CQuU(包括三个依赖包,jdk7,tomcat7)如果云盘失效,可以到我csdn共享页找找http://download.csdn.net/detail/qq_21766233/9761661
依赖包放入bin:
tomcat-redis-session-manager-1.2-tomcat-7-java:用来将 Tomcat 的 Session 数据存储在 Redis 库中的项目
jedis:redis的java客户端
commons-pool:对象池
tomcat-redis-session-manager-1.2-tomcat-7-java-7.jar、jedis-2.1.0.jar、commons-pool-1.6.jar
测试:(写个html,把一下html放入tomcat的webapps下,启动tomcat即可测试,访问其中一个tomcat里的这个页面查看session值,再访问另外一个tomcat的session值,看看是否一致,如果一致,则session成功)
<html>
<head><title>tomcat1</title></head>
<body>
<h1><font color="red">tomcat2.king.com</font></h1>
<table border="1">
<tr>
<td>Session ID</td>
<% session.setAttribute("king.com","king.com"); %>
<td><%= session.getId() %></td>
</tr>
<tr>
<td>Created on</td>
<td><%= session.getCreationTime() %></td>
</tr>
</table>
</body>
</html>