环境 Centos7
Redis版本 3.2.0
安装目录 /usr/local/redis/redis-3.2.0
# yum install gcc tcl
2 下载3.2.0
# mkdir /usr/local/redis
# cd /usr/local/redis
# wget http://download.redis.io/releases/redis-3.2.0.tar.gz
3 解压
# tar -zxvf redis-3.2.0.tar.gz
# mv rredis-3.2.0.tar.gz redis3.2.0
# cd redis3.2.0
4 安装
# make test
安装的时候有可能会报一些小错误,大家看提示即可
安装完成后,如下
src目录下有redis-server,redis-cli等命令
Redis 的启动脚本为:/usr/local/redis/redis-3.2.0/utils/redis_init_script
将启动脚本复制到/etc/init.d/redis目录下,并命名为redis:
# cp /usr/local/redis/redis-3.2.0/utils/redis_init_script /etc/init.d/redis
///////////////
这里说一个题外话,linux有个/etc/init.d文件夹还有一个/etc/rc.d/init.d文件夹
两个有什么区别呢?
/etc/init.d是/etc/rc.d/init.d的一个软连接
那么什么是软连接
ln 3.txt 4
把3.txt复制一份为4
但是修改3.txt后,在4上能看到变化
修改4后在3.txt上也能看到变化
但是删除了两个中的一个后,另一个并不会被删除。
ln 3.txt 4 叫硬连接
ln -s 3.txt 5叫软连接
上面的s不是soft,是symboilc
就是为3.txt新建一个叫5的快捷方式
那么删除了5,3.txt还是OK的
不过要是删除了3.txt,那么5就不能用了。
这么吧 我把我更改后的贴出来,大家自己对照redis_init_script
我们要修改这几个地方:
(1) REDISPORT 端口保持 6379 不变;(注意,端口名将与下面的配置文件名有关)
(2) EXEC=/usr/local/bin/redis-server 改为 EXEC=/usr/local/redis/redis-3.2.0/src/redis-server
(3) CLIEXEC=/usr/local/bin/redis-cli 改为 CLIEXEC=/usr/local/redis/redis-3.2.0/src/redis-cli
(4) 配置文件设置:
创建 redis 配置文件目录
我们知道,直接运行redis-3.2.0/src/redis-server是可以的,但是我们一般都给它增加一个配置文件
# mkdir /usr/local/redis/conf
复制 redis 配置文件/usr/local/redis/redis-3.2.0/redis.conf 到/usr/local/redis/conf 目录并按端口
号重命名为 6379.conf
# cp /usr/local/redis/redis-3.2.0/redis.conf /usr/local/redis/redis-3.2.0/conf/6379.conf
做了以上准备后,再对 CONF 属性作如下调整:
CONF="/etc/redis/${REDISPORT}.conf" 改为 CONF="/usr/local/redis/redis-3.2.0/conf/${REDISPORT}.conf"
(5) 更改 redis 开启的命令,以后台运行的方式执行:
$EXEC $CONF & #“&”作用是将服务转到后面运行
在/etc/systemd/system下写服务文件
开启服务
systemctl start redis_6379.service
不过就刚才的配置来说,我们远程java连接铁定出问题
大概会报这两个错误
Could not get a resource from the pool, Connection refused: connect
DENIED Redis is running in protected mode because protected mode is enabled…
问题在于,默认的conf文件绑定了本机ip,咱们得注释掉
第二,远程访问的加上密码,我们还得在conf里设置(具体怎么设密码,自己百度吧)
参见
http://blog.csdn.net/yingxiake/article/details/51472810
http://blog.csdn.net/yingxiake/article/details/51472810
Redis版本 3.2.0
安装目录 /usr/local/redis/redis-3.2.0
Redis的介绍
参见官网安装
1 安装gcc与tcl# yum install gcc tcl
2 下载3.2.0
# mkdir /usr/local/redis
# cd /usr/local/redis
# wget http://download.redis.io/releases/redis-3.2.0.tar.gz
3 解压
# tar -zxvf redis-3.2.0.tar.gz
# mv rredis-3.2.0.tar.gz redis3.2.0
# cd redis3.2.0
4 安装
# make test
安装的时候有可能会报一些小错误,大家看提示即可
安装完成后,如下
src目录下有redis-server,redis-cli等命令
配置成服务
5配置成服务Redis 的启动脚本为:/usr/local/redis/redis-3.2.0/utils/redis_init_script
将启动脚本复制到/etc/init.d/redis目录下,并命名为redis:
# cp /usr/local/redis/redis-3.2.0/utils/redis_init_script /etc/init.d/redis
///////////////
这里说一个题外话,linux有个/etc/init.d文件夹还有一个/etc/rc.d/init.d文件夹
两个有什么区别呢?
/etc/init.d是/etc/rc.d/init.d的一个软连接
那么什么是软连接
ln 3.txt 4
把3.txt复制一份为4
但是修改3.txt后,在4上能看到变化
修改4后在3.txt上也能看到变化
但是删除了两个中的一个后,另一个并不会被删除。
ln 3.txt 4 叫硬连接
ln -s 3.txt 5叫软连接
上面的s不是soft,是symboilc
就是为3.txt新建一个叫5的快捷方式
那么删除了5,3.txt还是OK的
不过要是删除了3.txt,那么5就不能用了。
///////////////
这么吧 我把我更改后的贴出来,大家自己对照redis_init_script
- #!/bin/sh
- #
- # Simple Redis init.d script conceived to work on Linux systems
- # as it does use of the /proc filesystem.
- REDISPORT=6379
- EXEC=/usr/local/redis/redis-3.2.0/src/redis-server
- CLIEXEC=/usr/local/redis/redis-3.2.0/src/redis-cli
- PIDFILE=/var/run/redis_${REDISPORT}.pid
- CONF="/usr/local/redis/redis-3.2.0/conf/${REDISPORT}.conf"
- case "$1" in
- start)
- if [ -f $PIDFILE ]
- then
- echo "$PIDFILE exists, process is already running or crashed"
- else
- echo "Starting Redis server..."
- $EXEC $CONF &
- fi
- ;;
- stop)
- if [ ! -f $PIDFILE ]
- then
- echo "$PIDFILE does not exist, process is not running"
- else
- PID=$(cat $PIDFILE)
- echo "Stopping ..."
- $CLIEXEC -p $REDISPORT shutdown
- while [ -x /proc/${PID} ]
- do
- echo "Waiting for Redis to shutdown ..."
- sleep 1
- done
- echo "Redis stopped"
- fi
- ;;
- *)
- echo "Please use start or stop as first argument"
- ;;
- esac
我们要修改这几个地方:
(1) REDISPORT 端口保持 6379 不变;(注意,端口名将与下面的配置文件名有关)
(2) EXEC=/usr/local/bin/redis-server 改为 EXEC=/usr/local/redis/redis-3.2.0/src/redis-server
(3) CLIEXEC=/usr/local/bin/redis-cli 改为 CLIEXEC=/usr/local/redis/redis-3.2.0/src/redis-cli
(4) 配置文件设置:
创建 redis 配置文件目录
我们知道,直接运行redis-3.2.0/src/redis-server是可以的,但是我们一般都给它增加一个配置文件
# mkdir /usr/local/redis/conf
复制 redis 配置文件/usr/local/redis/redis-3.2.0/redis.conf 到/usr/local/redis/conf 目录并按端口
号重命名为 6379.conf
# cp /usr/local/redis/redis-3.2.0/redis.conf /usr/local/redis/redis-3.2.0/conf/6379.conf
做了以上准备后,再对 CONF 属性作如下调整:
CONF="/etc/redis/${REDISPORT}.conf" 改为 CONF="/usr/local/redis/redis-3.2.0/conf/${REDISPORT}.conf"
(5) 更改 redis 开启的命令,以后台运行的方式执行:
$EXEC $CONF & #“&”作用是将服务转到后面运行
在/etc/systemd/system下写服务文件
- # cd /etc/systemd/system
- # vi redis_6379.service
- [Unit]
- Description=Redis on port 6379
- [Service]
- Type=forking
- ExecStart=/etc/init.d/redis start
- ExecStop=/etc/init.d/redis stop
- [Install]
- WantedBy=multi-user.target
开启服务
systemctl start redis_6379.service
使用java远程测试
代码我就不贴了,网上有一大堆不过就刚才的配置来说,我们远程java连接铁定出问题
大概会报这两个错误
Could not get a resource from the pool, Connection refused: connect
DENIED Redis is running in protected mode because protected mode is enabled…
问题在于,默认的conf文件绑定了本机ip,咱们得注释掉
第二,远程访问的加上密码,我们还得在conf里设置(具体怎么设密码,自己百度吧)
参见
http://blog.csdn.net/yingxiake/article/details/51472810
参考资料
吴水成 Dubbo视频教程 redis的安装与使用http://blog.csdn.net/yingxiake/article/details/51472810