ruby-on-rails 启动redis服务器时出现问题

ny6fqffe  于 2023-02-26  发布在  Ruby
关注(0)|答案(3)|浏览(248)

我使用的是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,但错误仍然存在。
快速帮助将不胜感激。

yxyvkwin

yxyvkwin1#

你显示的错误隐藏了你原来的错误。Redis基本上是在一个重启循环中,你的错误正在逃避这个循环。你需要做的是禁用这个重启功能来得到下划线的问题。
这可以通过执行以下操作来实现:
1.编辑/etc/systemd/system/redis.服务
1.将重新启动行编辑为Restart=no。可能的选项为noon-successon-failureon-abnormalon-watchdogon-abortalways
1.将启动限制间隔编辑为StartLimitInterval=0。通常将其设置得很高,以防止服务不断重新启动时负载达到峰值
1.最后,重新加载服务以使更改生效。这可以通过运行systemctl daemon-reload来完成
一旦服务停止循环,您可以尝试手动启动服务以获取实际的错误。如果错误太大,您可以在操作系统的常规日志中查找Redis,或者运行journalctl:journalctl -u redis.service
希望这能有所帮助!

iibxawm4

iibxawm42#

如果你想要干净和可重复的方法,我建议你总是使用docker,特别是在开发环境中。所以启动docker reds就像这样简单:

docker run -d -p 6379:6379 --name my-redis redis
js81xvg6

js81xvg63#

我在ubuntu 22.04 LTS中遇到了同样的问题,我通过以下方法解决了这个问题:-
1.从根目录释放一些内存。
1.查看redis.conf文件,如果有一些丢失或不需要的东西添加到这个文件的命令:-
服务器/etc/redis/redis.conf
并改变为“受监督的否”。
我希望这能很好地工作!!。

相关问题