一、业务需求
? ? 在项目实施过程中,需要使用到Redis键值数据库作为数据缓存,提高网站的响应速度;虽然安装部署完成Redis启动后可以正常使用,但是面对不确定因素导致的系统重启而Redis没有重启的情况,我们就需要配置实现Redis开机自启,减少不利因素造成的影响。
二、准备内容
需要先安装配置完成Redis
在Centos8中安装配置Redis,实现远程访问https://blog.csdn.net/xiaochenXIHUA/article/details/117441562?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166694863516782412522771%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166694863516782412522771&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-117441562-null-null.nonecase&utm_term=redis&spm=1018.2226.3001.4450
安装配置完成后重启Centos8系统。?
三、实现步骤
目前下载解压后的Redis 6.2.7目录在Centos8中路径如下:
?
3.1、创建Redis的文件目录
--在【/usr/local】路径下创建名为【redis】文件目录命令
mkdir -p /usr/local/redis
3.2、将编译好的Redis服务端和客户端文件复制到新目录中
①首先需要进入【redis-6.2.7】的src目录中:
--进入redis-6.2.7的src目录命令
cd ~/redis-6.2.7/src
--查看当前目录下所有文件的命令
ls
②然后将编译好的【redis-6.2.7/src】文件夹下的【redis-server】和【redis-cli】文件复制一份到【/usr/local/redis】目录下:
--将编译好的redis-6.2.7/src文件夹下的【redis-server】和【redis-cli】文件复制一份到【/usr/local/redis】目录下命令:
cp ./redis-server /usr/local/redis/
cp ./redis-cli /usr/local/redis/
3.3、将Redis的配置文件复制到新目录中
--将redis-6.2.7文件夹下的redis.conf 配置文件移动到【/usr/local/redis】目录下命令
//退到上一级目录也就是从【redis-6.2.7/src】目录到【redis-6.2.7】目录下
cd ..
//复制一份【redis-6.2.7】目录下的redis.conf配置文件到【/usr/local/redis/】下
cp redis.conf /usr/local/redis/
3.4、进入新目录且编辑redis的配置文件
--进入【/usr/local/redis/】目录编辑redis的配置文件命令
cd /usr/local/redis/
--编辑redis的配置文件
vi redis.conf
??
3.5、编辑Redis的配置文件且保存
首先按下【i】键进行编辑,编辑完成后按下【ESC】键退出编辑;最后输入【:wq】后按下【Enter】键保存退出
bind 0.0.0.0 #绑定0.0.0.0表示可以远程或本地连接,且不受IP限制
port 6379 #默认端口,可以改成别的端口
protected-mode yes #修改为yes,开启保护模式,默认是yes
daemonize yes #守护进程设置为yes
requirepass 123456 #redis主库库的访问密码,我这里设置为123456
3.6、配置redis开机自启
《1》将【redis-6.2.7/utils】文件夹下的【redis_init_script】文件复制到【/etc/init.d/】路径下
--①进入redis-6.2.7的utils目录命令
cd ~/redis-6.2.7/utils
--②将【redis-6.2.7/utils】文件夹下的【redis_init_script】文件复制到【/etc/init.d/】路径下命令
cp redis_init_script /etc/init.d
《2》编辑Redis的开机启动文件
--①进入【 /etc/init.d/】目录下命令
cd /etc/init.d
--②编辑【redis_init_script 】文件命令
vim redis_init_script
注意:该Redis的开机启动文件主要修改内容为(首先按下【i】键进行编辑,编辑完成后按下【ESC】键退出编辑;最后输入【:wq】按下【Enter】键保存退出):
--该Redis的开机启动文件主要修改内容为:
#chkconfig: 22345 10 90
//填写自己设置的redis端口默认是6379
REDISPORT=6379
//redis服务执行路径(不用修改)
EXEC=/usr/local/bin/redis-server
//redis客户端执行路径(不用修改)
CLIEXEC=/usr/local/bin/redis-cli
//进程文件
PIDFILE=/var/run/redis.pid
//redis的配置文件路径
CONF="/usr/local/redis/redis.conf"
?Redis的开机启动的完整文件【redis_init_script】内容如下:
#!/bin/sh
#chkconfig: 22345 10 90
#description: Start or Stop Redis[Redis is a key-value database]
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
### 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=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis/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 -a "123456" -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
《3》为?Redis的开机启动文件【redis_init_script】设置权限
--为?Redis的开机启动文件【redis_init_script】设置权限命令
chmod 555 redis_init_script
《4》启动redis
--启动redis命令
./redis_init_script start
??
《5》检查redis的进程
--检查redis的进程命令
ps -ef | grep redis
?可以看到redis的进程内容则表示通过【redis_init_script】文件将redis启动成功,如下图所示:
《6》设置redis的开机自启服务
--设置redis的开机自启服务命令
chkconfig redis_init_script on
?《7》重启Centos8服务器然后查看redis进程是否存在,存在则表示设置开机自启Redis成功
--检查redis的进程命令
ps -ef | grep redis
?
|