华为云服务器安装Redis不能使用解决办法

转载自:https://blog.csdn.net/m0_46573967/article/details/112553260

1. 配置外网、安装Redis

如果已经安装完Redis、但是服务无法启动、可以跳过第一步,从第二步开始操作配置
  • 先在源里搜索一下redis,查看是否有该软件包:
[root@139-22-132-225 ~]# yum search redis
================================================================================ Name Exactly Matched: redis =================================================================================
redis.aarch64 : A persistent key-value database
=============================================================================== Name & Summary Matched: redis ================================================================================
pcp-pmda-redis.aarch64 : Redis PCP metrics

rsyslog-hiredis.aarch64 : Redis support for rsyslog

hiredis-devel.aarch64 : Development files for hiredis

hiredis.aarch64 : A minimalistic C client library for the Redis database

python2-redis.noarch : The Python2 interface to the Redis key-value store

python3-redis.noarch : The Python3 interface to the Redis key-value store
  • 确认有后,开始安装
yum install redis.aarch64

2. 启动服务

[root@139-22-132-225 ~]# systemctl start redis
Job for redis.service failed because the control process exited with error code.
See "systemctl status redis.service" and "journalctl -xe" for details.
  • 发现服务启动失败

3. 查看系统日志/var/log/messages尝试定位问题:

  • 没有日志路径,无法打开日志文件
redis-server[23358]: *** FATAL CONFIG FILE ERROR ***
redis-server[23358]: Reading the configuration file, at line 171
redis-server[23358]: >>>'logfile /var/log/redis/redis.log'
redis-server[23358]:Can't open the log file: No such file or directory
  • 发现系统/var/log/下没有redis目录,手动创建一个:
[root@139-22-132-225 ~]# mkdir -p /var/log/redis
  • 查看redis的systemd服务:
[root@139-22-132-225 ~]# cat /lib/systemd/system/redis.service
[Unit]

Description=Redis persistent key-value database

After=network.target
[Service]
ExecStart=/usr/bin/redis-server /etc/redis.conf --supervised systemd
Type=notify
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target
  • redis.service 服务是用 redis 用户来启动的,然而查看了/etc/passwd 和 /etc/shadow 文件,都没有 redis 用户的记录,我们来手动创建一个 redis 用户,并指定 shell 为 /usr/sbin/nologin:
[root@139-22-132-225 ~]# useradd redis -s /usr/sbin/nologin
  • 把刚刚创建的日志目录的属组改成redis:root:
[root@139-22-132-225 ~]# chown -R redis:root /var/log/redis
  • 重启服务:systemctl restart redis,发现还是启动失败,继续看messages日志,发现有这一句:
redis-server[10631]: 10631:C 11 Dec 14:15:22.548 # Fatal error,can't open config file '/etc/redis.conf'
  • redis的配置文件/etc/redis.conf的属组是root,我们将其改为redis:root。
[root@139-22-132-225 ~]# chown redis:root /etc/redis.conf
  • 重启服务:systemctl restart redis,还是失败,而且系统日志messages里没有提供有效信息。我们再来看下/var/log/redis/redis.log,发现有一句报错:
Can't chdir to '/var/lib/redis': No such file or directory
  • 手动创建一下该目录,并修改属组
[root@139-22-132-225 ~]# mkdir -p /var/lib/redis
[root@139-22-132-225 ~]# chown -R redis:root /var/lib/redis
  • 重启服务:systemctl restart redis,启动成功。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值