温馨提示×

Ubuntu下Nodejs日志怎么删

小樊
60
2026-07-21 19:21:43
栏目: 编程语言

在 Ubuntu 下,Node.js 本身不会自动产生日志文件,日志一般是由 应用代码、进程管理器(PM2 / systemd)、Nginx、Docker 等 产生的。下面按常见场景给你说明怎么删。


一、先确认日志在哪(很重要)

1️⃣ Node.js 应用自己写的日志

常见目录:

/var/log/
/home/xxx/logs/
项目目录下的 logs/

例如:

/var/log/myapp/
./logs/app.log

查看大文件:

du -sh /var/log/*

二、删除 Node.js 日志(不同场景)


✅ 场景 1:直接运行 Node.js(无进程管理)

如果是这样启动的:

node app.js > app.log 2>&1

日志就在 app.log 里:

rm app.log

⚠️ 如果程序还在运行,删了文件但磁盘不释放,需要:

: > app.log

或直接重启 Node 程序。


✅ 场景 2:使用 PM2(最常见 ✅)

查看日志位置

pm2 logs
pm2 info <app_name>

一般路径:

~/.pm2/logs/

删除 PM2 日志

pm2 flush        # 清空所有日志
pm2 flush app_name

或手动删:

rm ~/.pm2/logs/*

⚠️ 删除后建议重启:

pm2 restart all

✅ 场景 3:使用 systemd 管理 Node.js

日志在:

/var/log/syslog
journalctl

查看 Node 服务日志

journalctl -u your-node-service.service

清空 systemd 日志

sudo journalctl --vacuum-time=3d
sudo journalctl --vacuum-size=100M

⚠️ 不建议直接删 journal 文件


✅ 场景 4:Nginx 反向代理日志

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

✅ 场景 5:Docker 中的 Node.js

查看日志:

docker logs <container_id>

清理 Docker 日志:

docker system prune -f

或手动:

/var/lib/docker/containers/*/*-json.log

三、推荐的正确做法(比直接删更好 ✅)

✅ 使用日志轮转(logrotate)

防止日志无限增长:

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

我可以直接告诉你该删哪个文件、怎么安全删 ✅

0 踩