Centos7安装Redis完成配置后redis无法开机自启动

redis出现的问题:

(该问题在写此文章之前已经解决,现进行问题复现)

背景:

  1. 问题出现在阿里云的服务器上,系统使用的是centos的公版的7.9的64版本
  2. redis正常安装并且可以在后台正常启动,通过redis-cli命令可以正常连接使用(但无法自启动)

问题:

redis可以正常启动,但是状态显示启动失败

在redis的安装目录执行该命令: 

./redis-server

 在查看redis进程:(发现是有redis进程的如下截图):

ps -ef |grep redis

 但是通过查看redis状态是失败的(active状态是:fail;不是未启动的:inactive):

  1. systemctl status redis
    

 使用下面关于redis的命令不会报错:

# 开机自动启动

systemctl enable redis.service

# 启动redis服务

systemctl start redis.service

# 查看服务状态

systemctl status redis.service

但是最后发现好像没有用(自启动和启动命令用了启动不了redis,在进程中是看不到redis启动的进程的,自启动是无用的)。

redis自带的连接工具redis-cli在通过安装的目录(./redis-server)启动后还可以连接使用

 解决方式:

  1. 查看redis的日志,看能否找出问题(当时我查看了好几遍日志文件,没有什么错误提示,只有一些配置警告提示,但可以明显发现日志记录的启动次数比我通过ps命令看到的redis启动的次数少);
  2. 认真看一下自己的/lib/systemd/system/redis.service 下的文件,多改改(我自己感觉偶尔这个配置重新加载了也没改变,没有实际理由的自我想

我的步骤:

  1. 通过下面命令取消redis的开机自启动:
    systemctl disabled redis.service
  2. 在修改系统下面的redis.service 文件
  3. 确保前两项无误后再执行开机自启动命令
    systemctl enable redis.service

注意:取消开机自启动之前一定要确保redis进程是没有启动的,可以通过下面命令杀掉redis的进程:

kill -9 redis的pid

再去执行取消开机自启动,之后再去修改redis.service 文件,一定要记得重载系统服务:

systemctl daemon-reload

 上面两步可以多执行几次,确保系统结束了第一次设置的redis开机自启。

问题分析(个人观点推测):

出现该问题,可能redis的安装没有太大问题,但是一些细节没有注意到。redis在安装目录可以正常启动说明redis.conf配置文件等是正常的,主要问题出现在redis.service的系统文件。在编写redis.service的系统文件是应该提前把redis停掉(本人当时在编写好redis.service系统文件并重载该文件之前就没杀掉redis的后台进程)。导致后面systemctl关于redis的命令执行不出错,但是没有正常完成执行效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值