温馨提示×

debian nodejs日志报错怎么看

小樊
33
2026-09-10 04:46:09
栏目: 编程语言

在 Debian 上排查 Node.js 日志报错,可以按下面几个层次来看,从“在哪里看日志”到“怎么读懂报错”。


一、先确认 Node.js 是怎么运行的

不同运行方式,日志位置不一样:

1. 直接命令行运行

node app.js

✅ 报错会直接打印在终端

2. 使用 PM2

pm2 logs
pm2 logs appname

查看某个进程:

pm2 show appname

3. 使用 systemd(常见)

journalctl -u yourapp.service -f

查看全部:

journalctl -xe

4. Docker

docker logs container_name
docker logs -f container_name

二、Node.js 常见错误类型(重点)

1. SyntaxError(语法错误)

SyntaxError: Unexpected token )

✅ 原因:代码写错
✅ 解决:看文件名 + 行号


2. ReferenceError(变量未定义)

ReferenceError: xxx is not defined

✅ 变量名拼错或作用域问题


3. TypeError(类型错误)

TypeError: Cannot read property 'x' of undefined

✅ 对象为 undefined ✅ 常见于:

  • 接口返回空
  • 配置未加载

4. MODULE_NOT_FOUND

Error: Cannot find module 'express'

✅ 解决:

npm install

或:

rm -rf node_modules package-lock.json
npm install

5. EADDRINUSE(端口占用)

Error: listen EADDRINUSE :::3000

✅ 查看占用:

lsof -i:3000

或:

netstat -tunlp | grep 3000

6. 权限错误

EACCES: permission denied

✅ Debian 常见:

  • 不要用 root 跑 npm
  • 端口 < 1024 需要权限

三、开启更详细的日志

Node.js 调试模式

node --trace-warnings app.js
node --stack-trace-limit=100 app.js

环境变量

DEBUG=* node app.js

四、常见排查流程(实战)

1. 看日志(journalctl / pm2 / docker)
2. 找 Error / Exception 关键字
3. 看 at xxx.js:12:3(文件 + 行号)
4. 本地复现
5. 检查依赖 / 配置 / 环境

五、示例:systemd Node 服务报错排查

journalctl -u nodeapp -n 50

配置文件:

[Service]
ExecStart=/usr/bin/node /var/www/app.js
Environment=NODE_ENV=production

六、你可以直接把日志贴出来

如果你愿意,可以:

  • 粘贴 完整报错
  • 说明 运行方式(pm2 / systemd / docker)
  • 说明 Debian 版本

我可以帮你 逐行分析并给出解决方案

0