为什么分区已满时Apache会失败?

特别是,Apache似乎一旦不再能够写入日志文件就拒绝服务请求。

  1. 这是可configuration的吗?
  2. 这背后的理由是什么?

  1. 是。 禁用日志logging或获取正确configuration的logrotate来旋转和/或压缩日志文件。
  2. 如果日志文件被激活,系统必须假定你需要日志logging,并且当任何服务器应用程序不能logging它正在做什么时,继续工作是一个非常糟糕的主意。 configuration日志logging的人相当可能需要这个或另一个目的。

为什么你的磁盘已经满了?

你似乎有多个问题。

  1. 您的服务器磁盘可能已满。 你有没有任何一种趋势和graphics(仙人掌,snmp + mrtg,穆宁)和监测(Nagios,Monit)? 如果你没有得到磁盘得到比一定百分比阈值更多的通知,我敢打赌你也不会收到关于其他严重问题的警报。
  2. 您似乎没有明智的日志轮转scheme或configuration的中央日志logging。

修复这些。 如果你有一个繁忙的服务器,configurationApache使用系统日志工具而不是Apache自己的日志文件实际上可以提高性能,因为Apache不会等待日志条目被真正写入,而只是将它抛出到系统日志,相信消息将会得到logging。

Google如何将Apache的CustomLog指令与logger一起使用,以及如何设置集中的日志服务器。 从长远来看,这将对你有好处。

除了上面的良好答案之外,还可以考虑使用Logrotate来控制日志的大小,以便不会耗尽磁盘空间,并且可以继续为您的站点服务