我使用的是rails,想要运行sidekiq,而运行sidekiq需要安装Redis服务器。我按照digital ocean的说明为我的KDE neon 安装了Redis。下面是我尝试运行sudo systemctl status redis
时显示的错误:
redis.service - Redis In-Memory Data Store
Loaded: loaded (/etc/systemd/system/redis.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2021-03-24 17:24:12 IST; 6s ago
Process: 47334 ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf (code=exited, status=203/EXEC)
Main PID: 47334 (code=exited, status=203/EXEC)
Mar 24 17:24:12 maxagno3 systemd[1]: redis.service: Scheduled restart job, restart counter is at 5.
Mar 24 17:24:12 maxagno3 systemd[1]: Stopped Redis In-Memory Data Store.
Mar 24 17:24:12 maxagno3 systemd[1]: redis.service: Start request repeated too quickly.
Mar 24 17:24:12 maxagno3 systemd[1]: redis.service: Failed with result 'exit-code'.
Mar 24 17:24:12 maxagno3 systemd[1]: Failed to start Redis In-Memory Data Store.
使用redis-cli
工作正常。我假设当我第一次运行sudo systemctl disable redis
命令时,它删除了redis.service文件。从那以后我卸载并安装了Redis,但错误仍然存在。
快速帮助将不胜感激。
3条答案
按热度按时间yxyvkwin1#
你显示的错误隐藏了你原来的错误。Redis基本上是在一个重启循环中,你的错误正在逃避这个循环。你需要做的是禁用这个重启功能来得到下划线的问题。
这可以通过执行以下操作来实现:
1.编辑/etc/systemd/system/redis.服务
1.将重新启动行编辑为
Restart=no
。可能的选项为no
、on-success
、on-failure
、on-abnormal
、on-watchdog
、on-abort
或always
。1.将启动限制间隔编辑为
StartLimitInterval=0
。通常将其设置得很高,以防止服务不断重新启动时负载达到峰值1.最后,重新加载服务以使更改生效。这可以通过运行
systemctl daemon-reload
来完成一旦服务停止循环,您可以尝试手动启动服务以获取实际的错误。如果错误太大,您可以在操作系统的常规日志中查找Redis,或者运行journalctl:
journalctl -u redis.service
希望这能有所帮助!
iibxawm42#
如果你想要干净和可重复的方法,我建议你总是使用docker,特别是在开发环境中。所以启动docker reds就像这样简单:
js81xvg63#
我在ubuntu 22.04 LTS中遇到了同样的问题,我通过以下方法解决了这个问题:-
1.从根目录释放一些内存。
1.查看redis.conf文件,如果有一些丢失或不需要的东西添加到这个文件的命令:-
服务器/etc/redis/redis.conf
并改变为“受监督的否”。
我希望这能很好地工作!!。