美文网首页
nginx日志按日期分割

nginx日志按日期分割

作者: 毅巍奇诚 | 来源:发表于2020-03-03 09:50 被阅读0次

无需借助logrotate等日志处理工具。

配置

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    map $time_iso8601 $logdate {
        '~^(?<ymd>\d{4}-\d{2}-\d{2})' $ymd;
        default                       'date-not-found';
    }

    access_log /var/log/nginx/access-$logdate.log main;
    open_log_file_cache max=10;
}

open_log_file_cache

每一条日志记录的写入都是先打开文件再写入记录,然后关闭日志文件。如果日志文件路径中使用了变量为提高性能,可以使用open_log_file_cache指令设置日志文件描述符的缓存。

使用时遇到了两个问题
1.出现权限不够的问题,无法写日志,在设置中把user nginx;改为user root;或者给nginx用户log目录的写权限
2.出现错误日志:testing "/etc/nginx/html" existence failed (2: No such file or directory) while logging request,
这个问题有两个办法一个是创建/etc/nginx/html目录,另外一个就是在access_log前加上root path(path要绝对路径,是一个可用的真实目录)
设置后重启nginx就ok了

相关文章

  • nginx日志按日期分割

    无需借助logrotate等日志处理工具。 配置 open_log_file_cache 每一条日志记录的写入都是...

  • nginx 按日期分割access.log日志

    nginx 按日期分割access.log日志 参考url:http://www.yetyun.com/home/...

  • 按日期切割Nginx日志

    需求 每天凌晨00:00把前一天的Nginx日志access.log重命名为access-xxxx-xx-xx.l...

  • nginx日志按日期存储

    实际应用: shell+定时任务+nginx信号管理,完成日志按日期存储分析思路:凌晨00:00:01,把昨天的日...

  • NGINX日志切割

    NGINX日志切割 @(nginx笔记)[nginx] 非常简单的分割NGINX的日志文件,方便查阅。流程1.将当...

  • Nginx日志按日期拆分(脚本)

    需求来源于实施团队想要方便的看Nginx的error.log日志,时间长了现在这个文件都4个GB了,打开很困难。废...

  • nginx 日志文件按日期记录

    修改前 修改之前, 日志打印为: access_log logs/access.log main;其中, mian...

  • logrotate命令

    说明 logrotate命令是一个日志分割命令 用法 这里以 nginx日志为例 开启日志功能 配置日志分割规则 ...

  • nginx日志分析

    1,日志定义 在nginx.conf中定义的日志格式如下: 日志文件如下: 2,日志分割 nginx没有命令直接将...

  • 日志分割

    nginx日志放在 /var/log/nginx 下配置/etc/logrotate.d/nginx 测试分割/u...

网友评论

      本文标题:nginx日志按日期分割

      本文链接:https://www.haomeiwen.com/subject/tpwflhtx.html