Centos7下Redis3.2的安装配置与JReid测试

环境 Centos7
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我们还得更改一下redis_init_script
这么吧 我把我更改后的贴出来,大家自己对照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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值