CentOS7编译安装Redis
基于 CentOS7.5操作系统编译安装Redis,在这里可以找到全部的Redis版本源代码: https://download.redis.io/releases/ ,本次编译选择的是 redis-4.0.10的版本。
下载源码并且安装
# 下载并解压
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
tar -xzf redis-4.0.10.tar.gz
cd redis-4.0.10
# 安装编译工具并编译
yum -y install gcc gcc-c++ kernel-devel
make
# 编译完成后安装
make PREFIX=/usr/local/redis install
mkdir /usr/local/redis/etc/
cp redis.conf /usr/local/redis/etc/
cd /usr/local/redis/bin/
cp redis-benchmark redis-cli redis-server /usr/bin/
编辑配置文件 redis.conf
vim /usr/local/redis/etc/redis.conf
# yes -> 守护进程的方式运行 no -> 终端开启
daemonize yes
# 客户端闲置多长时间后断开连接,默认为0关闭此功能
timeout 300
# 设置redis日志级别,默认级别:notice
loglevel verbose
# 日志信息就输出到/dev/null
logfile stdout
# 设置密码
requirepass <设置密码>
# 监听ip
bind 127.0.0.1
配置环境变量
vim /etc/profile
export PATH="$PATH:/usr/local/redis/bin"
source /etc/profile
编辑启动脚本 redis (主要是指定Redis配置文件的位置)
#!/bin/bash
#chkconfig: 2345 80 90
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
REDIS_CLI=/usr/local/redis/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis/etc/redis.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
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
while [ -x ${PIDFILE} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
exit 1
esac
开启开机时服务自启
# 复制脚本文件到init.d目录下
cp redis /etc/init.d/
chmod +x /etc/init.d/redis
# 查看服务列表
chkconfig --list
# 添加服务
chkconfig --add redis
# 配置启动级别
chkconfig --level 2345 redis on
服务开启和关闭
systemctl start redis
systemctl stop redis
ps -el|grep redis
netstat -an|grep 6379