我使用 Linode 服务器,过去几年中大约有六个域名在其上运行,没有出现任何问题。它运行的是 Ubuntu 10.04 和 Apache。
今天,大约 3 小时里,所有 http 请求都被拒绝。我能够毫无问题地通过 ssh 进入,并查看了 Apache 错误日志,除了大量“mysql 服务器消失”错误外,没有发现任何有趣的东西。
如果 io 速率变得非常高,系统就会 ping 我,当 Drupal 站点进行 mysql 备份时确实会发生这种情况,但今天没有发生这种情况。
我还执行了 netstat -aon 并验证了 :80 和 :8080 的监听器正在运行(:80 上的 Varnish),尽管某些实例有 TIME_WAIT 而不是 LISTEN。
重启几分钟后一切恢复正常。这可能是什么原因造成的?
答案1
您检查了 apache error_log,但没有检查 mysql 日志。很可能是 mysql 导致了这个问题。“mysql 服务器消失”错误应该能让您意识到这一点。
无论如何,检查你的 mysql 错误日志,我敢打赌你会发现一些有趣的东西。
就您的 TCP TIME_WAIT 状态而言,这并不意外,也没有什么可担心的。
答案2
另外要检查的是防火墙。如果再次发生这种情况,我会运行 iptables -L,以确保进程没有设置防火墙规则。