在实际环境中, 由于nginx会产生大量日志, 所以会按照以天为单位对日志文件进行分隔我有个问题, 就是nginx在日志正在备份并创建新日志文件时, 此时的请求日志会丢失么?
2 回答
![?](http://img1.sycdn.imooc.com/545865da00012e6402200220-100-100.jpg)
蓝山帝景
TA贡献1843条经验 获得超7个赞
如果你用的是logrotate的话,不会的。
Linux下的每个文件会自带一个表示inode,logrotate首先重命名正在写入的日志文件(一般是给文件名添加当前日期),而这个文件的inode没变,nginx还是依据inode来找到这个文件往里写。
然后logrotate会通知nginx需要另外打开新的日志文件来写入,那么nginx会再打开新的日志文件来写入,命名和原来保持一致。
如此而已。
你可以再看看这篇文章how-logrotate-works。
添加回答
举报
0/150
提交
取消