在 Debian 上,Apache 的日志通常位于 /var/log/apache2/ 目录下,常见文件有:
access.log:访问日志error.log:错误日志other_vhosts_access.log 等不要直接删除日志文件,否则 Apache 可能仍持有旧文件句柄,导致日志不写入新文件。
正确做法是清空内容:
sudo sh -c '> /var/log/apache2/access.log'
sudo sh -c '> /var/log/apache2/error.log'
或者一次性清空所有 Apache 日志:
sudo sh -c 'for f in /var/log/apache2/*; do > "$f"; done'
Debian 默认用 logrotate 管理 Apache 日志:
sudo logrotate -f /etc/logrotate.d/apache2
这会:
在某些特殊情况下(如直接删过文件),可重载 Apache:
sudo systemctl reload apache2
如只是测试环境,可在虚拟主机配置中:
CustomLog /dev/null combined
ErrorLog /dev/null
修改后执行:
sudo systemctl restart apache2
logrotate> 日志文件如果你是想“定期自动清理”或“只保留 N 天日志”,我也可以帮你配置。