温馨提示×

如何查看Debian Nodejs日志

小樊
36
2026-08-11 22:49:52
栏目: 编程语言

在 Debian 上查看 Node.js 日志,取决于你如何运行 Node.js是否使用进程管理器(PM2 / systemd)以及项目本身的日志配置。下面按常见场景给你一个完整指南。


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

ps -ef | grep node

常见情况:

  • 直接运行:node app.js
  • 使用 PM2:pm2 list
  • 使用 systemd 服务
  • Docker 容器
  • Nginx 反向代理后的 Node 服务

二、直接运行 Node.js(前台 / 后台)

1️⃣ 前台运行(终端)

日志直接输出在终端:

node app.js

2️⃣ 后台运行(nohup)

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

查看日志:

tail -f app.log

三、使用 PM2(最推荐 ✅)

查看日志

pm2 logs

查看指定应用:

pm2 logs app-name

实时查看:

pm2 logs --lines 100

日志文件位置

ls ~/.pm2/logs/

常见文件:

  • app-name-out.log
  • app-name-error.log

四、使用 systemd(生产环境常见)

1️⃣ 找到服务名

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

或:

systemctl status your-node-service

2️⃣ 查看日志(journalctl)

journalctl -u your-node-service -f

查看最近 100 行:

journalctl -u your-node-service -n 100

3️⃣ 如果 Node 自己写日志文件

检查服务文件:

cat /etc/systemd/system/your-node-service.service

看是否有:

StandardOutput=append:/var/log/node/app.log
StandardError=append:/var/log/node/error.log

五、Node.js 项目自身日志

常见日志位置

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

查看:

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

常见日志库

  • winston
  • pino
  • morgan(HTTP 请求)

六、Nginx 反向代理场景

如果 Node 前有 Nginx:

tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log

七、Docker 中的 Node.js

docker logs container_name
docker logs -f container_name

八、排查 Node.js 崩溃 / 无日志

1️⃣ 捕获未处理异常

process.on('uncaughtException', (err) => {
  console.error('Uncaught Exception:', err);
});

process.on('unhandledRejection', (err) => {
  console.error('Unhandled Rejection:', err);
});

2️⃣ 查看系统日志

dmesg | tail
journalctl -xe

九、快速排查清单 ✅

情况 查看方式
PM2 pm2 logs
systemd journalctl -u 服务名 -f
后台 nohup tail -f app.log
Docker docker logs
项目日志 /var/log/your-app/
崩溃 dmesg / journalctl

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

  • ✅ 你是怎么启动 Node.js 的?
  • ✅ 是否使用 PM2 / systemd / Docker?
  • ✅ Debian 版本(如 11 / 12)

我可以直接给你最精确的查看方式

0