官网下载:http://download.redis.io/releases/
安装过程需要下载一个包,输入 y,回车继续安装,最后出现 Complete! 表示安装完成
[root@all ~]# yum install gcc-c++
使用 FileZilla 工具把下载好的 tar 包上传到 /home/ 目录下
解压
[root@all home]# tar -zxvf redis-5.0.9.tar.gz
进入解压好的 redis 目录,编译
[root@all home]# cd redis-5.0.9/
[root@all redis-5.0.9]# make
进入 src 目录,安装
[root@all redis-5.0.9]# cd src/
[root@all src]# make install
在 /usr/local/ 目录下创建 redis 目录
[root@all local]# mkdir redis
在 redis/ 目录下创建 bin 和 etc 两个目录
[root@all local]# cd redis/
[root@all redis]# mkdir bin
[root@all redis]# mkdir etc
将 redis-5.0.5 里的主配置文件 redis.conf 拷贝到刚创建的 etc 目录
[root@all redis]# cd /home/redis-5.0.9/
[root@all redis-5.0.9]# cp redis.conf /usr/local/redis/etc/
再将 src 目录里带有绿色标识的文件全都拷贝到刚创建的 bin 目录
[root@all redis-5.0.9]# cd src/
[root@all src]# cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb /usr/local/redis/bin/
进入 etc 目录,修改 redis.conf 文件
[root@all ~]# cd /usr/local/redis/etc/
[root@all etc]# vim redis.conf
注释掉 bind 127.0.0.1 这一行,bind 指的是只有指定的网段才能远程访问这个redis,注释掉后,就没有这个限制了
将 protected-mode 属性改为 no ,关闭保护模式,不然会阻止远程访问
端口号(选择性修改)
将 daemonize 属性改为 yes ,这样启动时就可以在后台启动
设置 requirepass 密码(可选,个人建议还是设个密码)
:wq保存退出
进入 bin/ 目录,指定 redis 配置文件启动 redis
[root@all etc]# cd /usr/local/redis/bin/
[root@all bin]# ./redis-server /usr/local/redis/etc/redis.conf
[root@all bin]# ps -ef | grep redis
[root@all bin]# ./redis-cli -h 192.168.50.100 -p 6382
192.168.50.100:6382> ping # 输入 ping 回车提示 error,要输入密码
(error) NOAUTH Authentication required.
192.168.50.100:6382> auth redis # auth 密码,回车显示 OK
OK
192.168.50.100:6382> ping # 再次输入 ping 就会显示 pong,成功
PONG
192.168.50.100:6382> exit # 退出
进入 /home/redis-5.0.9/utils/
拷贝 redis 源码中初始化文件 redis_init_script 到 /etc/init.d/,重命名为 redis
[root@all ~]# cd /home/redis-5.0.9/utils/
[root@all utils]# cp redis_init_script /etc/init.d/redis
[root@testecs utils]# vim /etc/init.d/redis
修改 redis 脚本文件内容
# 新添加内容
# chkconfig 2345 10 90
# description:Redis is a persistent key-value database
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/bin:/root/bin
# 端口号
REDISPORT=6380
# redis-server 可执行文件位置
EXEC=/usr/local/redis/bin/redis-server
# redis-cli 可执行文件位置
CLIEXEC=/usr/local/redis/bin/redis-cli
# redis 配置文件位置
CONF="/usr/local/redis/etc/redis.conf"
# 密码
AUTH="redis"
[root@all init.d]# vim /etc/init.d/redis
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
# chkconfig 2345 10 90
# description:Redis is a persistent key-value database
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/bin:/root/bin
### BEGIN INIT INFO
# Provides: redis_6379
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Redis data structure server
# Description: Redis data structure server. See https://redis.io
### END INIT INFO
REDISPORT=6380
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis/etc/redis.conf"
AUTH="redis"
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
修改 redis 脚本文件权限,把脚本添加到系统服务列表
[root@all init.d]# chmod +x /etc/init.d/redis # 修改权限
[root@all init.d]# chkconfig --add redis # 添加到系统服务列表
[root@all init.d]# chkconfig redis on # 设置为开机自启
[root@all init.d]# chkconfig --list # 查看所有注册的脚本文件