
运行进程可能继续持有已重命名日志的文件句柄,因此新建一个同名文件并不保证Nginx立即写入它。日志轮转应配合受支持的重新打开流程及正确权限,而不是反复清空文件或重启整台服务器。
先确认写入实际去了哪里
比较旧新日志文件大小、时间、路径和相关进程持有文件,区分轮转后继续写旧文件与站点根本没有产生请求。多个站点或容器可能输出到不同位置。不要只按文件名看到空白就认定Nginx日志功能已经失效。
理解重命名与句柄关系
文件在目录中的名字变化,不会自动让已经打开的进程改写另一个新对象。轮转工具可能采用不同策略,需阅读当前配置和服务官方控制方式。复制截断与重命名重开各有行为,不能把其中一步完成就当成全部轮转流程。

核对重开权限与执行身份
新文件和目录的属主、权限应允许实际工作进程写入,轮转后的重开动作也需要适当权限。按Nginx支持的reopen机制和主机管理方式处理,避免发布不受控的网页接口来执行信号命令。先在低风险范围验证,保留原日志不覆盖。
用新请求确认记录与保留
发起受控只读请求,检查新日志出现相应记录、旧日志停止非预期增长,再检查压缩和保留策略。日志可能包含IP与查询信息,归档也需访问控制和期限。修复后明确轮转任务的结果检查,不能仅以计划任务显示运行成功作为长期保证。
关键区别

文件重命名:改变目录中的名称;不自动改变进程句柄。
日志重开:使服务重新打开目标;检查权限与执行方式。
轮转完成:写入和保留都正确;不只是新文件存在。
怎样确认处理到位
受控请求进入新日志,旧文件不再持续接收非预期记录,权限、压缩与保留正常且原始证据未被破坏。
容易误判的边界
不要为释放磁盘直接删除仍被进程持有的日志而不查句柄;文件名消失不等于空间已经回收或日志已安全归档。
