在 Ubuntu 下,Node.js 本身不会自动产生日志文件,日志一般是由 应用代码、进程管理器(PM2 / systemd)、Nginx、Docker 等 产生的。下面按常见场景给你说明怎么删。
常见目录:
/var/log/
/home/xxx/logs/
项目目录下的 logs/
例如:
/var/log/myapp/
./logs/app.log
查看大文件:
du -sh /var/log/*
如果是这样启动的:
node app.js > app.log 2>&1
日志就在 app.log 里:
rm app.log
⚠️ 如果程序还在运行,删了文件但磁盘不释放,需要:
: > app.log
或直接重启 Node 程序。
pm2 logs
pm2 info <app_name>
一般路径:
~/.pm2/logs/
pm2 flush # 清空所有日志
pm2 flush app_name
或手动删:
rm ~/.pm2/logs/*
⚠️ 删除后建议重启:
pm2 restart all
日志在:
/var/log/syslog
journalctl
journalctl -u your-node-service.service
sudo journalctl --vacuum-time=3d
sudo journalctl --vacuum-size=100M
⚠️ 不建议直接删 journal 文件
Node.js 常配合 Nginx:
/var/log/nginx/access.log
/var/log/nginx/error.log
清空:
sudo truncate -s 0 /var/log/nginx/access.log
sudo truncate -s 0 /var/log/nginx/error.log
查看日志:
docker logs <container_id>
清理 Docker 日志:
docker system prune -f
或手动:
/var/lib/docker/containers/*/*-json.log
防止日志无限增长:
sudo apt install logrotate
示例配置:
/var/log/myapp/*.log {
daily
rotate 7
compress
missingok
notifempty
}
| 启动方式 | 日志位置 |
|---|---|
| node app.js | 当前目录 / 重定向文件 |
| PM2 | ~/.pm2/logs/ |
| systemd | journalctl |
| Docker | docker logs |
| Nginx | /var/log/nginx/ |
你可以直接贴:
ps aux | grep node
或
systemctl status your-service
我可以直接告诉你该删哪个文件、怎么安全删 ✅