Redis 安装和配置
1.Redis 安装
注意:以下文档中的所有红色标记部分需根据实际的安装版本和端口号自行配置。
在 /opt 目录下创建一个目录 redis 用来存放redis相关文件
$ mkdir -p /opt/redis
首先将文件内的redis-3.2.11.tar.gz安装包上传到/opt/redis
进入解压后目录:$ cd /opt/redis/
安装依赖包:$ yum install -y gcc-c++ tcl
**如果gcc没有安装而且无法连接外网,请参照安装包gcc文件夹
解压:$ tar zxvf redis-3.2.11.tar.gz
移动到安装目录:$ mv redis-3.2.11/* /opt/redis/
删除移动后的空目录:$ rm -rf redis-3.2.11
进入解压后目录:$ cd /opt/redis/
编译:$ make
编译安装:$ make install
安装完之后会在:/usr/local/bin 目录下生成好几个 redis 相关的文件,如下图:
创建redis配置文件目录:$ mkdir -p /etc/redis
创建redis持久化数据目录:$ mkdir -p /data/redis_d
创建redis日志目录:$ mkdir -p /var/log/redis
创建日志文件:$ echo “redis.log” >/var/log/redis/redis.log
复制配置文件到/etc/redis:$ cp /opt/redis/redis.conf /etc/redis/redis_6379.conf
修改配置:$ vim /etc/redis/redis_6379.conf
把旧值:daemonize no
改为新值:daemonize yes
首次启动redis服务:$ /usr/local/bin/redis-server /etc/redis/redis_6379.conf
查看是否启动:$ ps -ef | grep redis,如下图说明启动成功

进入客户端:$ redis-cli-p6379
测试效果:

关闭redis:$ redis-cli -h 127.0.0.1 -p 6379 shutdown
设置开机启动:$ echo "/usr/local/bin/redis-server /etc/redis/redis_6379.conf" >> /etc/rc.local
开放防火墙端口(如果防火墙关闭则忽略):
添加规则:iptables -I INPUT -p tcp -m tcp --dport 6379 -j ACCEPT
保存规则:service iptables save
重启 iptables:service iptables restart
2.redis-3.2.11 redis.conf配置
编辑配置文件:vim /etc/redis/redis_6379.conf
配置文件参数解释参考包中的:redis.conf
已默认修改的参数:
appendonly yes --aof备份机制默认开启
dir /data/redis_d --备份文件放置目录(可设置定期备份)
logfile "/var/log/redis/redis.log" --日志文件位置
maxmemory 5gb --最大内存限制(限制5gb,如需更高可自行配置)
3.Redis 密码配置
打开 vim /etc/redis/redis_6379.conf 配置文件,找到默认是被注释的这一行:# requirepass foobared
去掉注释,把 foobared 改为你想要设置的密码,比如我打算设置为:123456,所以我改为:requirepass 123456
修改之后重启下服务
有了密码之后,进入客户端,就得这样访问:redis-cli -h 127.0.0.1 -p 6379 -a 123456
如果用 IP 进入客户端,但是报:Could not connect to Redis at 192.168.1.121:6379: Connection refused
原因:Redis 默认只允许本机访问,可是有时候我们也需要 Redis 被远程访问。
解决办法:
修改 Redis 配置文件:vim /etc/redis/redis_6379.conf
找到 bind 那行配置,默认是:# bind 127.0.0.1
去掉 # 注释并改为:bind 0.0.0.0
4.把 redis 添加到系统服务中
新建文件:vim /etc/init.d/redis_6379
添加如下内容:
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
[ "$NETWORKING" = "no" ] && exit 0
redis="/usr/local/bin/redis-server"
prog=$(basename $redis)
REDIS_CONF_FILE="/etc/redis/redis_6379.conf"
[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis
lockfile=/var/lock/subsys/redis
start() {
[ -x $redis ] || exit 5
[ -f $REDIS_CONF_FILE ] || exit 6
echo -n #34;Starting $prog: "
daemon $redis $REDIS_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n #34;Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
stop
start
}
reload() {
echo -n #34;Reloading $prog: "
killproc $redis -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo #34;Usage: $0 {start|stop|status|restart|condrestart|try-restart| reload|orce-reload}"
exit 2
esac
修改权限:chmod 755 /etc/init.d/redis_6379
启动服务:service redis_6379 start
停止服务:service redis_6379 stop
如果在启动或者停止过程中报权限不足,直接授权即可
查看状态:service redis_6379 status
重启服务:service redis_6379restart
附:不加入系统服务下的redis服务启动与关闭:
启动:/usr/local/bin/redis-server /etc/redis/redis_6379.conf
停止:pkill redis
重启:先停止>>再启动