我在CentOS上有一个使用Apache来托pipe我的Rails站点的VPS。
每隔两天左右,我发现Web服务器已经停止。 我必须login并重新启动它。
从我可以看到我有一个0字节的错误日志,所以没有错误报告。 从访问日志中,我看不到任何stream量高峰。 无论如何,我的网站并不受欢迎..也许每天有1-5次访问!
我不确定在哪里可以看。 我怎样才能找出发生了什么问题?
最有可能的是你内存不足,内核正在查杀httpd。 你看到系统日志中的OOM消息吗? (不只是apache日志。)
正常运行的Apache错误日志不应该为空 – 只要您为loglevelconfiguration了注意事项,您应该在每个服务器启动时将消息写入到错误日志中。 例如,在CentOS上安装股票,新的错误日志如下所示:
[Sun Nov 14 04:02:05 2010] [notice] Digest: generating secret for digest authentication [Sun Nov 14 04:02:05 2010] [notice] Digest: done [Sun Nov 14 04:02:05 2010] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.2 mod_ssl/2.2.15 OpenSSL/0.9.8e-fips-rhel5 configured -- resuming normal operations
我打赌你要么有错误的日志(仔细检查你的Apacheconfiguration,而不是假设它是/ var / log / httpd或其他地方的),或者你的日志由于某种原因不可写。 日志循环是另一个可能的原因,尽pipe通常logrotate会在完成后重启Apache进程。
说到logrotate,你是否发现你的服务往往在一周中的某一天停止? Logrotate每周运行一次,它可能发送您的httpd进程的HUP不能正确重启。
还是一定要采取mattdm的build议,并检查OOMKiller消息的dmesg,特别是如果你在一个VPS(大多数VPS主机喜欢启用内存过量使用)。