加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何配置php5-fpm.log的logrotate?

发布时间:2020-12-14 01:05:02 所属栏目:Linux 来源:网络整理
导读:我在运行nginx和php5-fpm的ubuntu 12.04上的/etc/php5/fpm/php-fpm.conf下启用了error_log = /var/log/php5-fpm.log. 但是我注意到php5-fpm.log没有logrotate.我试图理解我从互联网上找到的一些配置,但我不愿意在我的生产服务器上测试它. 以下是我发现的一些
我在运行nginx和php5-fpm的ubuntu 12.04上的/etc/php5/fpm/php-fpm.conf下启用了error_log = /var/log/php5-fpm.log.

但是我注意到php5-fpm.log没有logrotate.我试图理解我从互联网上找到的一些配置,但我不愿意在我的生产服务器上测试它.

以下是我发现的一些配置:

/var/log/php5-fpm.log {
    rotate 12
    weekly
    missingok
    notifempty
    compress
    delaycompress
    postrotate
        invoke-rc.d php5-fpm reopen-logs > /dev/null
    endscript
}

这是配置的link.据我所知,我需要的是在/etc/logrotate.d/下创建一个名为php5-fpm的文件,所以它看起来像/etc/logrotate.d/php5-fpm并带有上面的代码.

我还从这个link中找到了另一个样本,其代码如下:

/var/log/php5-fpm.log {
        daily
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 root adm
        sharedscripts
        postrotate
            [ ! -f /var/run/php5-fpm.pid ] || kill -USR1 `cat /var/run/php5-fpm.pid`
        endscript
    }

由于我是logrotate配置的新手,我想确保我要做的是正确的.

那么,这两种配置中的哪一种是正确的?第一个还是第二个?我只在/etc/logrotate.d/php5-fpm创建一个文件并将代码放在那里是否正确?

对不起,如果这是一个新手问题,我就找不到如何做到这一点的完整说明.

解决方法

只是为了通过谷歌来澄清其他人:

1)

invoke-rc.d php5-fpm reopen-logs > /dev/null

这是您的发行版必须支持的内容.选项“reopen-logs”不附带PHP源包提供的默认init脚本.所以你可能无法使用它.

2)

[ ! -f /var/run/php5-fpm.pid ] || kill -USR1 `cat /var/run/php5-fpm.pid`

这是正确的选项,也正式得到PHP-FPM的支持,请参阅:
https://github.com/php/php-src/blob/b7a7b1a624c97945c0aaa49d46ae996fc0bdb6bc/sapi/fpm/fpm/fpm_events.c#L94

你可以从源代码中看到这个“信号”是额外用于对数转换的,应该优于“USR2”,它只能用于重新加载配置.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读