说明nginx日志每天分片是运维的基本要求。它不仅可以减小文件大小,方便关键数据的检索,还可以定期删除过期日志。但是nginx和tengine默认不支持文件分片,需要额外处理。另外,日志分片需要借助ngx_http_log_module模块。通过yum安装的nginx默认不带这个模块,需要额外编译。Tengine默认自带ngx_http_log_module模块,所以建议用户直接从源码编译tengine。原理日志分片的原理是使用命名管道。linux下一切都是文件,所以创建了一个namedpipe作为linux的accesslog,第三方程序连接到namedpipe上,获取到数据后,按照时间分段。这里的第三方程序既可以是用户自己编写的处理程序,也可以是cronolog等开源软件。下面使用cronolog实现日志分片。步骤创建命名管道:mkfifo/opt/logs/nginx/access.log启动cronolog:cronolog/opt/logs/nginx/access_%Y%m%.log
