关于nginx的日志切割有很多种方法,这里列举两种方式:
1、在nginx配置文件里面的server模块配置:

if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") {
        set $year $1;
        set $month $2;
        set $day $3;
   }
   access_log  /data/logs/www/access.log-$year-$month-$day  main;


2、使用logrotate配置:

cat /etc/logrotate.d/nginx
/data/logs/www/*.log {      #日志的路径
daily #日志文件每天进行滚动
rotate 90 #保留最90次滚动的日志
missingok #如果日志不存在则忽略该警告信息
notifempty #如果是空文件的话,不转储
dateext #使用日期作为命名格式,切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期,例:error.log-20110317
sharedscripts #运行postrotate脚本
postrotate
   if -f /usr/local/nginx/logs/nginx.pid ;then
       kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
   fi
endscript
}
/usr/sbin/logrotate -f /etc/logrotate.d/nginx