在 Debian 系统上,JS(JavaScript)相关日志占用磁盘过高,通常不是系统本身的问题,而是由运行在 Debian 上的应用或服务产生的。下面按「常见原因 → 排查方法 → 解决方案」来说明。
console.log 大量输出典型目录:
/var/log/
~/logs/
项目目录/logs/
PM2 默认会把 stdout / stderr 写入:
~/.pm2/logs/
如果不配置:
/var/log/nginx/access.log
/var/log/nginx/error.log
JS 服务以 systemd 运行:
journalctl -u yourapp.service
默认日志可能:
若 JS 应用在 Docker 中:
/var/lib/docker/containers/
默认 json-file 日志无限增长
sudo du -sh /var/log/*
sudo find / -name "*.log" -size +100M
ps aux | grep node
ls -lh ~/.pm2/logs/
journalctl --disk-usage
docker ps
sudo du -sh /var/lib/docker/containers/*
示例(Node.js 日志):
sudo nano /etc/logrotate.d/nodejs
内容:
/var/log/nodejs/*.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
pm2 install pm2-logrotate
pm2 set pm2-logrotate:max_size 10M
pm2 set pm2-logrotate:retain 7
logger.level = 'info'
sudo nano /etc/systemd/journald.conf
修改:
SystemMaxUse=500M
MaxRetentionSec=7day
然后:
sudo systemctl restart systemd-journald
/etc/docker/daemon.json:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
sudo systemctl restart docker
Debian 本身不写 JS 日志,问题几乎都出在 Node.js / PM2 / Nginx / Docker 的日志管理不当。
如果你愿意,可以告诉我:
我可以直接帮你写一份针对性配置。