我有一台运行 nginx 来存储静态内容的服务器,其后面有 apache,运行 php 和 python 代码。
Apache 每天大约会退出一次,导致 Nginx 服务出现 502 Bad Gateway 错误。我在日志中发现的只有 Apache 收到 SIGTERM,没有其他详细信息。
[mpm_prefork:notice] [pid 11811] AH00169:捕获 SIGTERM,正在关闭
它已经正常运行了一段时间,除了磁盘空间不足外,无需维护。几个月前我做了一些 SSL 代理配置。运行 Debian Jessie
答案1
使用 auditd 将所有终止系统调用记录 -S kill
在 audit.rules 文件中。请参阅如何使用审计来监控特定的SYSCALL?。日志条目将包含每个 kill 的 pid、uid 和 exe,找到 httpd 关闭之前的一个。
我猜测这是一个未正确重启的日志轮换脚本。
答案2
捕获 SIGTERM
这意味着系统正在向 Apache 发送终止命令。我会开始寻找停止/重新启动 Apache 的 Rogue cron 作业,或者开始查看日志sar
以查看是否存在任何资源问题。当您遇到内存问题时,服务器将自动终止进程以保持自身正常运行。Apache 通常是内存问题中被终止的对象之一。