商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Ubuntu如何配置PHP的日志轮转

Ubuntu如何配置PHP的日志轮转

  发布于2026-07-04 阅读(0)

扫一扫,手机访问

在Ubuntu环境下管理PHP日志,日志轮转是个绕不开的话题。如果不做轮转,日志文件越滚越大,最后连查个错都费劲。好在系统自带的logrotate工具就能搞定,配置起来也不复杂。

Ubuntu如何配置PHP的日志轮转

1. 安装logrotate

先确认一下系统里有没有装logrotate,大部分Ubuntu默认是带了的。没装的话也很简单:

sudo apt-get update
sudo apt-get install logrotate

2. 确定PHP日志文件的位置

PHP的日志一般放在/var/log/php/目录下,但也可能因配置而异。先看看你的PHP-FPM或PHP本身的日志配置,把路径记下来,后面配置会用。

3. 创建或编辑logrotate配置文件

推荐为PHP日志单独建一个配置文件,方便管理。在/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 2>/dev/null` 2>/dev/null || true
        fi
    endscript
}

简单说说每项的作用:

  • daily:每天轮转一次。
  • missingok:日志文件不存在也不报错。
  • rotate 7:保留最近7个轮转后的文件。
  • compress:旧文件自动压缩。
  • notifempty:空文件不轮转。
  • create 640 root adm:轮转后新建日志文件,权限640,属主root,属组adm。
  • sharedscripts:所有日志文件轮转完才执行一次postrotate脚本。
  • postrotate:轮转完成后,通过发送USR2信号让PHP-FPM重新打开日志文件,这一步很关键,否则日志可能还在写旧文件。

4. 手动测试一下

保存完配置文件,建议手动执行一次轮转,看看有没有语法错误或权限问题:

sudo logrotate -f /etc/logrotate.d/php-fpm

这条命令会强制触发轮转,并且把执行过程打印出来。如果没报错,基本就稳了。

5. 自动轮转机制

logrotate本身由cron驱动,每天自动跑一次。检查一下/etc/cron.daily/logrotate文件,确认它存在且可执行——通常安装后就有了,不用额外操心。

6. 定期检查日志

最后,隔段时间看看日志目录里的文件数量和大小,确认轮转在正常工作:

ls -lh /var/log/php/

看到压缩过的旧日志(.gz后缀)和不同日期的文件,说明轮转已经跑起来了。

这样一套配置下来,PHP日志就不会无限制膨胀了,既省磁盘空间,排查问题时也容易定位到具体日期。没什么高深的东西,关键是别漏了postrotate那一步,不然日志文件切了,进程还在往旧文件里写,等于白忙活。

本文转载于:https://www.yisu.com/ask/50882900.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注