首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >nginx主机服务器日志轮转所有站点

nginx主机服务器日志轮转所有站点
EN

Server Fault用户
提问于 2011-11-30 16:15:34
回答 1查看 866关注 0票数 1

我已经为目录中的每个站点设置了单独的日志文件。

代码语言:javascript
运行
复制
/var/log/nginx-hosts/

我必须为这些文件配置日志轮转。我开始的基础是

代码语言:javascript
运行
复制
/var/log/nginx-hosts/*.log {
    rotate 7
    daily
    missingok
    notifempty
    sharedscripts
    copytruncate
    compress
}

然而,就像apache一样,nginx似乎必须在旋转前关闭,才能真正截断它们。当前的nginx日志旋转配置是:

代码语言:javascript
运行
复制
/var/log/nginx/*.log {
        daily
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 0640 www-data adm
        sharedscripts
        prerotate
                if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                        run-parts /etc/logrotate.d/httpd-prerotate; \
                fi; \
        endscript
        postrotate
                [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
        endscript
}

我应该把单独的站点日志轮转合并到主文件中,还是在另一个文件中计算出第一个配置。有什么想法?想法?

谢谢你的帮助和节日快乐。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2011-12-01 02:50:11

在深入研究之后,下面是我如何解决这个问题的方法:

代码语言:javascript
运行
复制
/var/log/nginx-hosts/*.access{
        weekly
        missingok
        rotate 20
        compress
        dateext
        notifempty
        create 0640 www-data adm
        sharedscripts
        sharedscripts
        prerotate
                if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                        run-parts /etc/logrotate.d/httpd-prerotate; \
                fi; \
        endscript
        postrotate
                [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
        endscript
}
/var/log/nginx-hosts/*.error{
        weekly
        missingok
        rotate 20
        compress
        dateext
        notifempty
        create 0640 www-data adm
        sharedscripts
        sharedscripts
        prerotate
                if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                        run-parts /etc/logrotate.d/httpd-prerotate; \
                fi; \
        endscript
        postrotate
                [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
        endscript
}
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/336276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档