温馨提示×

Nodejs崩了Debian日志在哪查

小樊
51
2026-10-13 00:21:42
栏目: 编程语言

在 Debian 上排查 Node.js 崩溃或异常,通常需要结合 系统日志、Node 自身日志 和 进程管理工具日志。下面按常见场景给你一个速查清单。


一、系统级日志(最常用)

1. systemd 日志(推荐)

如果 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

2. 传统 syslog 日志

如果没用 systemd 服务:

# Debian 旧版本
/var/log/syslog

# 查看 node 相关
grep node /var/log/syslog

二、Node.js 自身日志

1. 应用 stdout / stderr

如果你是这样启动的:

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

那么日志在:

app.log

2. Node 崩溃日志(核心转储 / 错误堆栈)

Node 崩溃时通常会输出:

  • Error: ...
  • stack trace
  • Process exited with code 1

如果看不到,可以加上:

node app.js 2> error.log

三、未捕获异常 & 崩溃原因

1. 未捕获异常

检查代码是否有:

process.on('uncaughtException', ...)
process.on('unhandledRejection', ...)

如果没有,Node 会直接退出且可能不留日志。


2. OOM(内存溢出)

Debian 上常见原因是 内存不足被 kill:

dmesg | grep -i "killed process"

或:

journalctl -k | grep -i oom

四、PM2 / Docker 等场景

PM2

pm2 logs
pm2 show <id>

Docker

docker logs <container_id>

五、常用排错命令总结

# 看 node 是否还活着
ps aux | grep node

# 看端口占用
ss -lntp | grep node

# 看系统资源
top / htop / free -h

如果你能补充一下:

  • Node 是怎么启动的(systemd / pm2 / 直接 node)
  • 是“进程退出”还是“服务器卡死”
  • 有没有报错信息

我可以更精准地告诉你具体该看哪个日志文件。

0 踩