在 Debian 上排查 Node.js 相关日志,一般从系统日志、Node 应用自身日志、进程管理工具日志三个方向入手。下面按常见场景给你一套排查思路。
如果 Node.js 是通过 systemd 管理的(如 pm2、node 服务):
# 查看某 Node 服务日志
journalctl -u your-node-service.service -n 100 --no-pager
# 实时查看
journalctl -u your-node-service.service -f
# 按时间过滤
journalctl -u your-node-service.service --since "2024-01-01 10:00" --until "2024-01-01 12:00"
常见服务名:
nginxpm2-yourname.service/var/log/syslog
/var/log/messages
/var/log/auth.log
查看 Node 相关错误:
grep -i node /var/log/syslog
如果是前台运行:
node app.js
日志会直接在终端显示。
如果是后台运行:
node app.js > app.log 2>&1 &
查看:
tail -f app.log
常见日志位置:
logs/app.logerror.log例如:
tail -n 200 logs/error.log
pm2 logs
pm2 logs app-name
pm2 logs --lines 200
pm2 describe app-name
pm2 show app-name
pm2 restart app-name
pm2 logs app-name
echo $?
常见:
1:未捕获异常137:OOM(内存不足)143:被 kill(SIGTERM)dmesg | grep -i "out of memory"
journalctl -k | grep -i oom
ss -tlnp | grep 3000
lsof -i:3000
# 1. 看 Node 是否在跑
ps aux | grep node
# 2. 看系统日志
journalctl -u your-service -n 100
# 3. 看应用日志
tail -f logs/error.log
# 4. 看资源
free -h
df -h
如果你能补充:
我可以给你更精确的命令。