网上有跟多切割例子,用脚本的居多!也有用自带时间参数time_iso8601来做的,但是都不是跟详细
核心代码
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/$year-host666.access.log main;
避坑1:
此段代码需要放在 server{} 或者 locatin{}下
避坑2: /var/log/nginx/ 的这个nginx文件夹 需要是nginx的用户和组,不然无法写入日志。
chown -R nginx:nginx nginx
具体的按什么来切割日志自己改。
实际测试成功