nginx的access log按小时生成

1、在server或location段进行配置

    if ($time_iso8601 ~ "^(d{4})-(d{2})-(d{2})T(d{2}):(d{2}):(d{2})"){
      set $year $1;
      set $month $2;
      set $day $3;
      set $hour $4;
      set $minutes $5;
      set $seconds $6;
    }

  access_log /tmp/niffler-$year-$month-$day-$hour-$minutes-access.log main;

2、在nginx ingress-controller上的配置,编辑/etc/nginx/template/nginx.tmpl

    ## start server {{ $server.Hostname }}
    server {
        server_name {{ $server.Hostname }} {{ $server.Alias }};
        if ($time_iso8601 ~ "^(d{4})-(d{2})-(d{2})T(d{2}):(d{2}):(d{2})"){
             set $year $1;
             set $month $2;
             set $day $3;
             set $hour $4;
             set $minutes $5;
             set $seconds $6;}
        access_log /var/log/nginx/ingress-$year-$month-$day-$hour-access.log upstreaminfo;
原文地址:https://www.cnblogs.com/cuishuai/p/12082475.html