安装Redis报“This systems seems to use systemd.....”错

返回主页

一、问题描述

在使用官方推荐的方式./install_server.sh安装Redis的时候, 报错了, 错误信息如下:

  1. Welcome to the redis service installer
  2. This script will help you easily set up a running redis server
  3. This systems seems to use systemd.
  4. Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!

二、错误原因

Redis安装脚本提示我们需要使用 systemd来设置Redis作为一个系统服务。systemd是一个在Ubuntu、CentOS、Fedora等Linux发行版中常用的系统和服务管理器。那既然这样我, 我们只需要将Redis 设置到systemd服务管理器中就可以了。

三、解决问题

要让Redis受systemd管理,你需要创建一个systemd服务单元文件并进行相应的配置。以下是具体步骤:

第一步:创建Redis服务单元文件

  1. 进入systemd服务单元文件目录

    1. # 在大多数Linux发行版中,systemd服务单元文件都放置在/etc/systemd/system/目录下。
    2. [root@converts ~]# cd /etc/systemd/system/
  2. 创建Redis服务文件

    1. [root@converts system]# vim redis.service
  3. 编辑服务单元文件

    1. [Unit]
    2. Description=Redis In-Memory Data Store
    3. After=network.target
    4. [Service]
    5. User=root
    6. Group=root
    7. Type=forking
    8. ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
    9. ExecStop=/usr/local/bin/redis-cli shutdown
    10. TimeoutStopSec=30
    11. Restart=always
    12. StandardOutput=null
    13. StandardError=journal
    14. [Install]
    15. WantedBy=multi-user.target

    这里假设Redis的可执行文件位于/usr/local/bin/redis-server,并且配置文件是/etc/redis/redis.conf。如果你的安装路径不同,请相应地修改这些路径。

第二步:加载并管理服务

  1. 重载systemd配置:更新systemd的配置以包含新的服务单元文件。

    1. [root@converts system]# systemctl daemon-reload
  2. 启动Redis服务:使用systemd启动Redis服务。

    1. [root@converts system]# systemctl start redis
  3. 设置开机启动:让Redis在系统启动时自动启动。

    1. [root@converts system]# systemctl enable redis
  4. 检查服务状态:确认Redis服务是否正常运行。

    1. [root@converts system]# systemctl status redis

    完成以上步骤后,Redis就已经成功被systemd管理,可以利用systemd的命令来进行启停、重启以及查看状态等操作。

四、可能出现的问题

如果执行systemctl start redis命令试图启动redis服务的时候报错了,报错信息如下:

  1. [root@converts redis]# sudo systemctl status redis.service
  2. redis.service - Redis In-Memory Data Store
  3. Loaded: loaded (/etc/systemd/system/redis.service; disabled; vendor preset: disabled)
  4. Active: failed (Result: exit-code) since Thu 2024-05-23 12:39:21 CST; 7min ago
  5. Process: 6620 ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf (code=exited, status=217/USER)
  6. May 23 12:39:21 converts systemd[1]: redis.service: Control process exited, code=exited status=217
  7. May 23 12:39:21 converts systemd[1]: redis.service: Failed with result 'exit-code'.
  8. May 23 12:39:21 converts systemd[1]: Failed to start Redis In-Memory Data Store.
  9. May 23 12:39:21 converts systemd[1]: redis.service: Service RestartSec=100ms expired, scheduling restart.
  10. May 23 12:39:21 converts systemd[1]: redis.service: Scheduled restart job, restart counter is at 5.
  11. May 23 12:39:21 converts systemd[1]: Stopped Redis In-Memory Data Store.
  12. May 23 12:39:21 converts systemd[1]: redis.service: Start request repeated too quickly.
  13. May 23 12:39:21 converts systemd[1]: redis.service: Failed with result 'exit-code'.
  14. May 23 12:39:21 converts systemd[1]: Failed to start Redis In-Memory Data Store.

安装Redis报“This systems seems to use systemd.....”错

发生这个错误的原因是因为权限问题。redis.service 文件的 UserGroup和当前的登录用户不一致导致的。 尝试切换用户再试试~~

展开/折叠菜单
一、问题描述
二、错误原因
三、解决问题
第一步:创建Redis服务单元文件
第二步:加载并管理服务
四、可能出现的问题
151 预览数量 2024-05-23 09:37:39 发布 时间
目录
赞数量
评论数量
返回顶部


暂无评论

暂无评论