nginx默认日志文件输出到一个文件中,时间长了以后该文件过大不易查看。现在我们可以直接在nginx配置文件中,配置日志循环,而不需使用logrotate或配置cron任务。需要使用到$time_iso8601 内嵌变量来获取时间。$time_iso8601格式如下:2015-12-27T18:12:02+02:00。然后使用正则表达式来获取所需时间的数据。
按天分割日志
使用下面的代码块
if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") { set $year $1; set $month $2; set $day $3; } access_log /data/logs/nginx/www.ttlsa.com-$year-$month-$day-access.log;
按时、分、秒分割
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; }
非常方便的进行日志分割。
转载请注明:西数超哥博客www.ysidc.top» nginx 直接在配置文件中设置日志分割
https://www.ysidc.top 西数超哥博客,数据库,西数超哥,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top