温馨提示×

linux下如何清空nginx日志

小樊
41
2026-09-26 19:42:36
栏目: 智能运维

在 Linux 下清空 Nginx 日志,推荐用“安全方式”,避免直接删除导致 Nginx 仍占用文件句柄。


一、最推荐方式(不删除文件,直接清空内容)

: > /var/log/nginx/access.log
: > /var/log/nginx/error.log

或

truncate -s 0 /var/log/nginx/access.log
truncate -s 0 /var/log/nginx/error.log

✅ 优点:

  • 不中断 Nginx
  • 不会造成日志丢失或句柄异常

二、使用 Nginx 自带日志轮转(推荐生产环境)

如果你用的是 logrotate(一般系统默认已配置):

logrotate -f /etc/logrotate.d/nginx

或直接等系统自动轮转(通常每日)。


三、清空后让 Nginx 重新打开日志(如手动删过日志)

如果你已经删除了日志文件,需要让 Nginx 重新生成:

nginx -s reopen

或

kill -USR1 $(cat /var/run/nginx.pid)

四、不建议的方式 ❌

rm /var/log/nginx/access.log

❌ 可能导致:

  • Nginx 仍写入旧 inode
  • 磁盘不释放
  • 日志“消失但占用空间”

五、常见日志路径

/var/log/nginx/access.log
/var/log/nginx/error.log

如路径不同,可用:

nginx -T | grep log

如果你是用 Docker / K8s / 宝塔 / 编译版 Nginx,可以告诉我,我给你对应方式。

0 踩