在 Debian 上 JS(Node.js / 前端构建 / 浏览器)日志过大,通常分几种场景,下面按常见情况给你一套“治标 + 治本”的方案。
常见来源:
如果你用 pm2:
pm2 install pm2-logrotate
配置示例:
pm2 set pm2-logrotate:max_size 10M
pm2 set pm2-logrotate:retain 7
pm2 set pm2-logrotate:compress true
✅ 效果:
用 logrotate 管理:
sudo nano /etc/logrotate.d/node-app
示例:
/var/log/node/*.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
sudo nano /etc/logrotate.d/nginx
默认一般已经有了,确保有:
rotate 14
compress
手动执行:
sudo logrotate -f /etc/logrotate.d/nginx
package.json:"scripts": {
"build": "vite build --logLevel warn"
}
或者:
npm run build > /dev/null 2>&1
sudo journalctl --disk-usage
sudo journalctl --vacuum-size=200M
限制大小:
sudo nano /etc/systemd/journald.conf
SystemMaxUse=500M
MaxRetentionSec=7day
重启:
sudo systemctl restart systemd-journald
sudo nano /etc/docker/daemon.json
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "5"
}
}
重启 Docker:
sudo systemctl restart docker
# 查看大日志
sudo du -sh /var/log/*
# 清空(不删文件)
sudo truncate -s 0 /var/log/xxx.log
✅ Node 服务:PM2 + logrotate
✅ Web 服务:Nginx + logrotate
✅ 容器:Docker log limit
✅ 系统:journalctl 限额
如果你能告诉我:
我可以直接帮你写一份 专属配置。