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

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

具体来说,一旦 Apache 不再能够写入日志文件,它似乎就会拒绝提供请求。

  1. 这是可配置的吗?
  2. 这背后的原因是什么?

答案1

  1. 是的。禁用日志记录或正确配置 logrotate 以轮换和/或压缩日志文件。
  2. 如果日志文件被激活,系统必须假定你日志记录,如果任何服务器应用程序无法记录其正在执行的操作,那么继续工作都是非常糟糕的主意。配置日志记录的人很可能出于某种目的需要它。

你的磁盘为何满了?

答案2

您似乎遇到了多个问题。

  1. 您的服务器磁盘可能会已满。您没有安装任何趋势和图表(Cacti、snmp+mrtg、Munin)和监控(Nagios、Monit)吗?如果您没有收到有关磁盘已满超过某个 % 阈值的通知,我敢打赌您也不会收到有关其他严重问题的警报。
  2. 您似乎没有配置合理的日志轮换方案或中央日志记录。

修复这些问题。如果您的服务器很忙,配置 Apache 以使用 syslog 工具而不是 Apache 自己的日志文件实际上可以提高性能,因为 Apache 不会等待日志条目实际写入,它只是将其抛出 syslog 并相信该消息会被记录下来。

CustomLog谷歌搜索如何结合使用 Apache指令logger以及如何设置集中式日志服务器。从长远来看,这对您有好处。

答案3

除了上述好的答案之外,还可以考虑实施日志旋转控制日志的大小,这样你就不会耗尽磁盘空间,并且可以继续为你的站点提供服务

相关内容