发布于2026-06-30 阅读(0)
扫一扫,手机访问
在Debian系统里,PHP日志轮转这件事,大家基本都靠logrotate来搞定。下面就把具体配置步骤走一遍,照着做就行。

logrotate其实大部分Debian系统默认已经装好了logrotate,不过万一没装,也别慌,一条命令就完事:
sudo apt-get update
sudo apt-get install logrotate
logrotatePHP的日志文件一般躲在/var/log/php/目录里,文件名可能是php-fpm.log或者类似的。我们需要编辑/etc/logrotate.d/php-fpm这个配置文件。
创建或编辑配置文件
用下面命令新建一个:
sudo nano /etc/logrotate.d/php-fpm
如果已经存在,就直接编辑它:
sudo nano /etc/logrotate.d/php-fpm
配置示例
来看一个典型的配置:
/var/log/php/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root adm
sharedscripts
postrotate
if [ -f /var/run/php-fpm.sock ]; then
sudo kill -USR2 `cat /var/run/php-fpm.pid`
fi
endscript
}
这里稍微解释一下每个参数的意思:
daily — 每天轮转一次日志。missingok — 日志文件不存在也不会报错,省心。rotate 7 — 保留最近7天的日志,多了自动清理。compress — 旧日志压缩一下,省空间。notifempty — 空日志就不转,避免白忙活。create 640 root adm — 轮转后新建日志文件,权限640,属主root,属组adm。sharedscripts — 多个日志文件时,只执行一次脚本。postrotate 和 endscript 之间的脚本会在日志轮转后执行,关键动作是给PHP-FPM发个USR2信号,让它乖乖重新打开日志文件。配置写好了,先测试一下能不能跑通:
sudo logrotate -f /etc/logrotate.d/php-fpm
这条命令强制轮转日志,同时会检查配置有没有语法错误,有错会直接报出来。
logrotate 每天都会自动跑一次,检查所有日志是否需要轮转。想看它是不是自动执行,可以翻翻 /etc/cron.daily/logrotate 这个脚本,系统定时任务里已经安排好了。
这么一圈下来,Debian上的PHP日志轮转应该就能正常工作了。如果还有什么疑问,翻翻logrotate的文档,或者对着配置多试几次,问题不大。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8