温馨提示×

nodejs在debian日志怎排查

小樊
33
2026-10-18 21:07:19
栏目: 编程语言

在 Debian 上排查 Node.js 相关日志,一般从系统日志、Node 应用自身日志、进程管理工具日志三个方向入手。下面按常见场景给你一套排查思路。


一、系统级日志(推荐先看)

1. 使用 journalctl(systemd)

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

常见服务名:

  • nginx
  • pm2-yourname
  • 自定义 .service

2. 传统日志文件(非 systemd 或老系统)

/var/log/syslog
/var/log/messages
/var/log/auth.log

查看 Node 相关错误:

grep -i node /var/log/syslog

二、Node.js 应用自身日志

1. 应用直接输出

如果是前台运行:

node app.js

日志会直接在终端显示。

如果是后台运行:

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

查看:

tail -f app.log

2. console / 日志库

常见日志位置:

  • logs/
  • app.log
  • error.log

例如:

tail -n 200 logs/error.log

三、使用 PM2(最常见)

查看日志

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

四、崩溃 / 异常退出排查

1. 查看退出码

echo $?

常见:

  • 1:未捕获异常
  • 137:OOM(内存不足)
  • 143:被 kill(SIGTERM)

2. OOM 排查

dmesg | grep -i "out of memory"
journalctl -k | grep -i oom

五、端口 / 权限问题

端口占用

ss -tlnp | grep 3000
lsof -i:3000

权限问题

  • 非 root 不能绑定 80/443
  • 文件无读写权限

六、快速排查清单(实战)

# 1. 看 Node 是否在跑
ps aux | grep node

# 2. 看系统日志
journalctl -u your-service -n 100

# 3. 看应用日志
tail -f logs/error.log

# 4. 看资源
free -h
df -h

如果你能补充:

  • Node 是怎么启动的(pm2 / systemd / 直接 node)
  • 报错内容或现象
  • Debian 版本

我可以给你更精确的命令。

0 踩