Apache 随机停止。优雅重启失败。未找到解释

Apache 随机停止。优雅重启失败。未找到解释

我有一个客户,他有一个电子商务网站,问题是 Apache 每隔 3-7 天就会随机停止一次。然后我们经历了 20 分钟到 2 小时的停机时间,直到我们通过 uptime robot 才知​​道这一点。这不是网络问题,因为我们尝试了 3 个不同的主机 - Contabo、OVH、Shinjiru。优雅重启失败。我一直在论坛上寻找原因,但到现在为止一无所获。甚至尝试通过查看本教程从 logrotate 中删除行来修复 Apache 每个星期日都会自动停止。为什么?但还是没有运气!

Apache 日志也没有显示任何内容。我们已经重置了 4-5 次,但仍然如此。

我们正在使用带有 SOAP 模块的 php7.0 和一个由 Woocommerce 提供支持的 Wordpress 网站。管理面板是 Webmin,操作系统是 ubuntu 16.04。

客户抱怨很多,因为很多客户已经流失,因为如果谷歌广告发现网站瘫痪,它就会删除该网站,而且需要 3-4 天才能再次获得列表,但随后又出现了 Apache 问题。请帮忙

答案1

有短期和中期的方法来解决此问题。

此外,如果您想从此站点获得有用的帮助,我建议提供更多信息。您的站点配置文件、日志文件以及运行命令时看到的错误消息。例如,剪切并粘贴优雅重启命令的输出文本

短期

解决以前发生过但现在不再发生的问题的最佳方法是通过日志文件。

主 apache2 错误日志文件位于/var/log/apache2/error.log

并且您可能配置了 VirtualHost 特定的错误日志;

# grep ErrorLog  /etc/apache2/sites-enabled/*.conf
/etc/apache2/sites-enabled/mysite1.org.conf:  ErrorLog /var/log/apache2/mysite1.org-error.log
/etc/apache2/sites-enabled/mysite2.org.conf:  ErrorLog /var/log/apache2/mysite2.org-error.log

与服务重启相关的错误将被记录到日志中;

# journalctl -u apache2
-- Logs begin at Sun 2018-07-08 01:35:01 UTC, end at Mon 2018-07-09 21:39:06 UTC. --
Jul 08 06:25:01 devhost1 systemd[1]: Reloading LSB: Apache2 web server.
Jul 08 06:25:01 devhost1 apache2[10537]:  * Reloading Apache httpd web server apache2
Jul 08 06:25:02 devhost1 apache2[10537]:  *
Jul 08 06:25:02 devhost1 apache2[2313]: DIGEST-MD5 common mech free
Jul 08 06:25:02 devhost1 systemd[1]: Reloaded LSB: Apache2 web server.

要查看特定时间段,请--since使用--until

# journalctl -u apache2 --since "2018-07-06 10:30:01" --until "2018-07-06 11:30:01"

中期

您的描述表明存在某种资源耗尽问题,这种问题会随着时间的推移而累积。因此,无论是内存、文件描述符,还是潜在的 apache 都无法处理请求,因为缺少 CPU、IO 等,导致请求排队并超时。

因此,通常使用安装在盒子上的某些工具来跟踪这些值很有用。我个人会使用 munin,因为我很熟悉它,虽然它很老旧,但它还是很有用的。

另一个跟踪 CPU、IO 和内存的工具是 sysstat 包,它将记录有用的系统统计信息,您可以将其与停机时间进行比较。

相关内容