在 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
✅ 优点:
如果你用的是 logrotate(一般系统默认已配置):
logrotate -f /etc/logrotate.d/nginx
或直接等系统自动轮转(通常每日)。
如果你已经删除了日志文件,需要让 Nginx 重新生成:
nginx -s reopen
或
kill -USR1 $(cat /var/run/nginx.pid)
rm /var/log/nginx/access.log
❌ 可能导致:
/var/log/nginx/access.log
/var/log/nginx/error.log
如路径不同,可用:
nginx -T | grep log
如果你是用 Docker / K8s / 宝塔 / 编译版 Nginx,可以告诉我,我给你对应方式。