具体来说,一旦 Apache 不再能够写入日志文件,它似乎就会拒绝提供请求。
- 这是可配置的吗?
- 这背后的原因是什么?
答案1
- 是的。禁用日志记录或正确配置 logrotate 以轮换和/或压缩日志文件。
- 如果日志文件被激活,系统必须假定你想日志记录,如果任何服务器应用程序无法记录其正在执行的操作,那么继续工作都是非常糟糕的主意。配置日志记录的人很可能出于某种目的需要它。
你的磁盘为何满了?
答案2
您似乎遇到了多个问题。
- 您的服务器磁盘可能会已满。您没有安装任何趋势和图表(Cacti、snmp+mrtg、Munin)和监控(Nagios、Monit)吗?如果您没有收到有关磁盘已满超过某个 % 阈值的通知,我敢打赌您也不会收到有关其他严重问题的警报。
- 您似乎没有配置合理的日志轮换方案或中央日志记录。
修复这些问题。如果您的服务器很忙,配置 Apache 以使用 syslog 工具而不是 Apache 自己的日志文件实际上可以提高性能,因为 Apache 不会等待日志条目实际写入,它只是将其抛出 syslog 并相信该消息会被记录下来。
CustomLog
谷歌搜索如何结合使用 Apache指令logger
以及如何设置集中式日志服务器。从长远来看,这对您有好处。
答案3
除了上述好的答案之外,还可以考虑实施日志旋转控制日志的大小,这样你就不会耗尽磁盘空间,并且可以继续为你的站点提供服务