在 CentOS 系统中,PHP 日志文件通常位于以下几个目录:
Apache PHP 日志:
Nginx PHP 日志:
要清理这些日志文件,你可以使用以下方法:
方法一:手动删除日志文件
使用 rm
命令删除日志文件。例如:
sudo rm /var/log/httpd/access_log
sudo rm /var/log/httpd/error_log
或者对于 Nginx:
sudo rm /var/log/nginx/access.log
sudo rm /var/log/nginx/error.log
方法二:清空日志文件
使用 truncate
命令清空日志文件。例如:
sudo truncate -s 0 /var/log/httpd/access_log
sudo truncate -s 0 /var/log/httpd/error_log
或者对于 Nginx:
sudo truncate -s 0 /var/log/nginx/access.log
sudo truncate -s 0 /var/log/nginx/error.log
方法三:设置日志轮转
为了避免日志文件过大,你可以设置日志轮转。CentOS 默认使用 logrotate
工具来管理日志轮转。你可以在 /etc/logrotate.d/
目录下找到相关的配置文件。
例如,对于 Apache,你可以编辑 /etc/logrotate.d/httpd
文件,确保以下配置存在:
/var/log/httpd/*.log {
daily
missingok
rotate 14
compress
notifempty
create 640 root adm
}
这个配置表示每天轮转一次日志文件,保留最近 14 天的日志,压缩旧日志文件,并在创建新日志文件时设置适当的权限。
对于 Nginx,你可以编辑 /etc/logrotate.d/nginx
文件,确保以下配置存在:
/var/log/nginx/*.log {
daily
missingok
rotate 14
compress
notifempty
create 640 nginx adm
}
这个配置与 Apache 类似,只是日志文件的路径和创建新日志文件时的用户和组不同。
设置好日志轮转后,logrotate
工具会自动按照配置清理旧日志文件。你可以手动运行 logrotate
命令来立即执行日志轮转:
sudo logrotate /etc/logrotate.conf
或者针对特定的配置文件:
sudo logrotate /etc/logrotate.d/httpd
或者对于 Nginx:
sudo logrotate /etc/logrotate.d/nginx