温馨提示×

Debian下Nodejs日志怎么看

小樊
37
2026-07-27 13:43:58
栏目: 编程语言

在 Debian 系统下查看 Node.js 日志,取决于你的 Node.js 应用是怎么运行的。下面按常见场景给你一份实用指南。


一、直接运行 Node.js(前台 / 终端)

如果你是这样启动的:

node app.js

日志会直接输出到终端(stdout / stderr)

查看方式

  • 直接在运行终端查看
  • 如果重定向过输出:
node app.js > app.log 2>&1

查看日志:

tail -f app.log

二、使用 systemd 管理 Node.js(最常见 ✅)

现在大多数 Debian / Ubuntu 服务器都用 systemd

1️⃣ 查看服务日志(推荐)

journalctl -u your-node-service.service

实时查看:

journalctl -u your-node-service.service -f

查看最近 100 行:

journalctl -u your-node-service.service -n 100

2️⃣ 查看服务名

systemctl list-units --type=service | grep node

或:

systemctl status your-node-service

三、PM2 管理的 Node.js(非常常见 ✅)

如果你用 PM2

查看所有应用日志

pm2 logs

实时查看:

pm2 logs --lines 100

查看指定应用:

pm2 logs app-name

查看错误日志

pm2 logs app-name --err

日志文件位置

~/.pm2/logs/

四、Docker 中运行的 Node.js

查看容器日志

docker logs 容器名或ID

实时查看:

docker logs -f 容器名

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

很多 Node.js 项目会写日志到文件,例如:

/var/log/node/
/var/log/app/

查看方式:

ls /var/log/node/
tail -f /var/log/node/app.log

常见日志库:

  • winston
  • pino
  • morgan(HTTP 请求日志)

六、常见错误日志位置(排错必看)

场景 查看方式
Node 崩溃 journalctl -xe
端口占用 ss -lntp
权限问题 journalctl -u 服务名
ENOENT / EADDRINUSE Node 启动日志

七、快速排错建议 ✅

1️⃣ 先看 Node 是否还在运行

ps aux | grep node

2️⃣ 看 systemd 状态

systemctl status your-node-service

3️⃣ 看最近系统日志

journalctl -xe

八、示例:完整排查流程

systemctl status mynode
journalctl -u mynode -n 100
journalctl -u mynode -f

如果你愿意,可以告诉我:

  • ✅ Node.js 是怎么启动的(systemd / pm2 / docker / 直接运行)
  • ✅ Debian 版本(cat /etc/os-release
  • ✅ 报错信息或现象

我可以给你精确到命令级别的排查方案。

0