由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装
[root@iZbp1hxps1f8ab0m8ru9gmZ local]# yum install -y gcc
复制代码
二、下载并解压安装包
[root@iZbp1hxps1f8ab0m8ru9gmZ local]# wget http://download.redis.io/releases/redis-6.2.0.tar.gz
[root@iZbp1hxps1f8ab0m8ru9gmZ local]# tar -zxvf redis-6.2.0.tar.gz
复制代码
三、cd切换到redis解压目录下,执行编译
[root@iZbp1hxps1f8ab0m8ru9gmZ local]# cd redis-6.2.0
[oot@iZbp1hxps1f8ab0m8ru9gmZ redis-6.2.0]# make
复制代码
四、安装并指定安装目录
[root@iZbp1hxps1f8ab0m8ru9gmZ redis-6.2.0]# make install PREFIX=/usr/local/redis
复制代码
五、启动服务
5.1前台启动
[root@iZbp1hxps1f8ab0m8ru9gmZ redis-6.2.0]# cd /usr/local/redis/bin/
[root@iZbp1hxps1f8ab0m8ru9gmZ bin]# ./redis-server
复制代码
5.2后台启动
从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录
[root@iZbp1hxps1f8ab0m8ru9gmZ bin]# cp /redis-6.2.0/redis.conf /usr/local/redis/bin/
复制代码
修改 redis.conf 文件,把 daemonize no 改为 daemonize yes,确保守护进程开启。
[root@iZbp1hxps1f8ab0m8ru9gmZ bin]# vim redis.conf
复制代码
后台启动
[root@iZbp1hxps1f8ab0m8ru9gmZ bin]# ./redis-server redis.conf
复制代码
六、设置开机启动
编写开机自启动脚本
基本原理为: 系统开机启动时会去加载/etc/init.d/下面的脚本,通常而言每个脚本文件会自定义实现程序的启动;若想将新的程序开机自启动,只需在该目录下添加一个自定义启动程序的脚本,然后设置相应规则即可。 如在这里我们在/etc/init.d/下新建一个 redis 的脚本,开机启动时会去加载执行该脚本。
编辑脚本
在系统init.d目录下新建文件redis,授权运行,因为我们稍后把要执行的脚本写入进去。
#进入目录/etc/init.d
[root@iZbp1hxps1f8ab0m8ru9gmZ bin]# cd /etc/init.d
#创建名为redis的空文件
[root@iZbp1hxps1f8ab0m8ru9gmZ init.d]# touch redis
#设置可执行权限
[root@iZbp1hxps1f8ab0m8ru9gmZ init.d]# chmod 777 redis
#编辑redis文件
[root@iZbp1hxps1f8ab0m8ru9gmZ init.d]# vim redis
复制代码
将如下内容复制进redis文件中:
#!/bin/bash
#chkconfig: 22345 10 90
#redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。
#description: Start and Stop redis
REDISPORT=6379 #端口号,这是默认的,如果你安装的时候不是默认端口号,则需要修改
EXEC=/usr/local/redis/bin/redis-server #redis-server启动脚本的位置
CLIEXEC=/usr/local/redis/bin/redis-cli #redis-cli客户端启动脚本的位置
PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis/bin/redis.conf" #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
;;
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
;;
restart)
"$0" stop
sleep 3
"$0" start
;;
*)
echo "Please use start or stop or restart as first argument"
;;
esac
复制代码
执行配套命令使脚本每次开机都执行
#服务的形式启动和关闭redis
[root@iZbp1hxps1f8ab0m8ru9gmZ init.d]# chkconfig --add redis
#加入开机自启服务
[root@iZbp1hxps1f8ab0m8ru9gmZ init.d]# chkconfig redis on
#查看所有注册的脚本文件
[root@iZbp1hxps1f8ab0m8ru9gmZ init.d]# chkconfig --list
复制代码
重启,验证是否开机自启