在 Debian 上排查 Node.js 崩溃或异常,通常需要结合 系统日志、Node 自身日志 和 进程管理工具日志。下面按常见场景给你一个速查清单。
如果 Node.js 是通过 systemd 启动的服务:
# 查看某个 node 服务日志
journalctl -u your-node-service.service -e
# 实时查看
journalctl -u your-node-service.service -f
# 最近 100 行
journalctl -u your-node-service.service -n 100
如果不知道服务名:
systemctl list-units --type=service | grep node
如果没用 systemd 服务:
# Debian 旧版本
/var/log/syslog
# 查看 node 相关
grep node /var/log/syslog
如果你是这样启动的:
node app.js > app.log 2>&1 &
那么日志在:
app.log
Node 崩溃时通常会输出:
Error: ...stack traceProcess exited with code 1如果看不到,可以加上:
node app.js 2> error.log
检查代码是否有:
process.on('uncaughtException', ...)
process.on('unhandledRejection', ...)
如果没有,Node 会直接退出且可能不留日志。
Debian 上常见原因是 内存不足被 kill:
dmesg | grep -i "killed process"
或:
journalctl -k | grep -i oom
pm2 logs
pm2 show <id>
docker logs <container_id>
# 看 node 是否还活着
ps aux | grep node
# 看端口占用
ss -lntp | grep node
# 看系统资源
top / htop / free -h
如果你能补充一下:
我可以更精准地告诉你具体该看哪个日志文件。