温馨提示×

Nodejs日志报错怎么查 Debian

小樊
53
2026-10-13 00:12:42
栏目: 编程语言

在 Debian 上排查 Node.js 日志报错,一般按下面几个步骤来:


一、先确认 Node.js 报错的来源

1. 前台运行报错(最直接)

如果你是在终端直接运行:

node app.js

报错会直接打印在终端里,重点看:

  • Error: 开头的行
  • at ... 调用栈(看是哪个文件哪一行)
  • errno / code(如 EADDRINUSE、ENOENT)

2. Systemd 管理的 Node 服务(常见)

如果 Node 是用 systemd 启动的(如 npm / pm2 / 自建 service):

# 查看服务状态和最近日志
systemctl status your-node-service

# 实时查看日志
journalctl -u your-node-service -f

# 查看历史报错(含错误)
journalctl -u your-node-service -p err

常见服务名示例:

  • node.service
  • myapp.service
  • pm2.service

3. PM2 管理的 Node 应用

pm2 logs
pm2 logs app-name
pm2 describe app-name

错误日志默认在:

~/.pm2/logs/

二、查看应用自身写的日志

很多 Node 项目会写日志文件,常见位置:

/var/log/your-app/
./logs/
./log/

查看示例:

tail -f logs/error.log
grep -i error logs/*.log

三、常见 Debian 上 Node 报错速查

1. 端口被占用

Error: listen EADDRINUSE: address already in use

解决:

sudo lsof -i :3000
sudo kill -9 PID

2. 找不到模块

Error: Cannot find module 'xxx'

解决:

npm install

3. 权限问题

EACCES: permission denied

解决(不要用 root 跑 npm):

sudo chown -R $USER:$USER /path

4. Node 版本太低

 SyntaxError: Unexpected token

查看版本:

node -v

必要时升级 Node(用 nvm 或 Nodesource)


四、快速定位错误技巧

# 只看 error
journalctl -u node.service | grep -i error

# 看最近 100 行
journalctl -u node.service -n 100

# 看某个时间段的日志
journalctl -u node.service --since "2024-01-01 10:00"

五、建议你补充的信息(方便更精确)

你可以直接把:

  • 报错原文(关键几行)
  • Node 启动方式(systemd / pm2 / 直接 node)
  • Debian 版本(cat /etc/os-release)

我可以帮你精确分析是哪一类问题。

0 踩