温馨提示×

linux nodejs报错日志怎找

小樊
39
2026-09-17 18:03:59
栏目: 编程语言

在 Linux 上排查 Node.js 报错日志,一般可以按下面几个方向来找:


一、看 Node.js 进程自身的报错输出

1. 前台运行(最直接)

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

node app.js

报错会直接打印在终端里。

2. 后台运行(nohup / &)

如果你用了:

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

那日志就在:

cat app.log
tail -f app.log

如果是 nohup:

nohup node app.js &
cat nohup.out

二、Systemd 服务(最常见于生产环境)

如果 Node.js 是用 systemd 管理的(如 myapp.service):

# 查看实时日志
journalctl -u myapp.service -f

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

# 指定时间
journalctl -u myapp.service --since "2024-01-01 00:00:00"

三、PM2 管理的 Node.js

如果你用 PM2:

pm2 logs
pm2 logs appname
pm2 logs --err
pm2 logs --lines 200

日志文件一般在:

~/.pm2/logs/

四、Docker 中的 Node.js

docker logs 容器名
docker logs -f 容器名
docker logs --tail 200 容器名

五、应用自己写的日志文件

常见位置:

/var/log/
项目目录下的 logs/

如:

tail -f logs/error.log

六、系统级错误日志

# 内存不足、崩溃等
dmesg | grep node

# 系统日志
cat /var/log/syslog
journalctl -xe

七、常见 Node.js 报错快速定位

  • Error: Cannot find module → 依赖没装
  • EADDRINUSE → 端口被占用
  • Segmentation fault → 看 dmesg
  • unhandledRejection → 代码里 Promise 没 catch

如果你愿意,可以把你是怎么启动 Node.js 的(命令 / pm2 / docker / systemd)和具体报错内容发出来,我可以直接帮你定位。

0