确定 Redis 每两分钟收到一个 SIGTERM 的原因

Ale*_*nae 11 ubuntu redis ubuntu-16.04

我在 Ubuntu 16.04 上运行 redis-server。在最近升级到 redis 3.2.7 之后,我现在看到类似的行

signal-handler (1486427812) Received SIGTERM scheduling shutdown... 在 redis 日志中每隔一两分钟,然后 redis 重新启动。

日志中唯一的其他可疑行是:

# WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

任何关于如何诊断为什么会发生这种情况的建议将不胜感激。谢谢!

小智 13

对于仍在寻找解决方案的其他人来说,Type=forking(这是安装 redis 的默认值)与inapt不兼容。supervised=systemdredis.conf

它必须更新Type=simple/etc/systemd/system/redis.service.

仅在守护进程模式下才需要分叉,但 systemd 管理的 redis 会否决守护进程设置。

更改从Restart=alwaysRestart=on-failure

供参考 - redis.conf,https://www.freedesktop.org/software/systemd/man/systemd.service.html

  • 欢迎来到堆栈溢出!如果您不知道,您可以在帖子发布后通过点击帖子底部的“编辑”链接来编辑帖子。 (2认同)

Bél*_*mos 10

仅供记录:正如 JG Miller 的评论一样,您必须注意“Type=simple”和“daemonize yes”设置是不兼容的。当我发现这个评论时,我挣扎了几天。我的 redis 只是简单地给出了 start-limit-hit 错误,因为当服务启动时,它立即收到 SIGTERM 信号并停止。

因此,根据您的需要,更改服务文件中的“Type=forking”或“daemonize no”行来解决此问题。