温馨提示×

Debian中Nodejs日志怎么找

小樊
44
2026-07-27 13:20:56
栏目: 编程语言

在 Debian 系统中,Node.js 的日志位置取决于你是如何运行 Node.js 应用的。下面按常见场景给你一个完整排查指南。


一、Node.js 应用本身没有统一日志位置

Node.js 不像 Nginx / Apache 那样有默认日志目录,日志位置完全由你的代码或运行方式决定。


二、常见场景及日志查找方法

✅ 1. 直接运行 Node.js(前台 / 后台)

node app.js
  • 日志通常会输出到:
    • 标准输出(stdout)
    • 标准错误(stderr)

查找方式

ps aux | grep node

如果是后台运行:

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

日志就在:

app.log

✅ 2. 使用 PM2 管理 Node.js(最常见 ✅)

如果你用 PM2 启动:

pm2 list

查看日志路径:

pm2 logs

或查看指定应用:

pm2 logs app-name

日志默认位置:

~/.pm2/logs/

常见文件:

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

查看实时日志:

pm2 logs --lines 100

✅ 3. 使用 systemd(生产环境常见 ✅)

如果是 systemd 服务:

systemctl status your-node-service

查看日志:

journalctl -u your-node-service.service

实时查看:

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

查看最近 200 行:

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

✅ 4. Docker 中运行 Node.js

docker ps
docker logs <container_id>

实时日志:

docker logs -f <container_id>

✅ 5. 应用代码中写文件的日志

如果你在代码中有类似:

fs.writeFileSync('error.log', err)

查找日志:

find / -name "*.log" 2>/dev/null

或:

find /var -name "*.log"
find /home -name "*.log"

三、Nginx / 反向代理相关日志(如适用)

如果 Node.js 在 Nginx 后面:

/var/log/nginx/access.log
/var/log/nginx/error.log

四、快速排查步骤(推荐 ✅)

  1. 确认 Node.js 是否运行
ps aux | grep node
  1. 看是否有 PM2
which pm2
pm2 list
  1. 看是否是 systemd 服务
systemctl list-units | grep node
  1. 搜索 log 文件
find / -type f -name "*.log" 2>/dev/null | grep -v proc

五、常见提示

  • Node.js 不会自动记录崩溃日志
  • 建议使用:
    • PM2
    • Winston / Pino(代码内日志)
    • systemd + journald

如果你愿意,可以把下面信息发我,我可以精确告诉你日志在哪

  • 你是怎么启动 Node.js 的?
  • 是否使用 PM2 / Docker / systemd?
  • Debian 版本(cat /etc/debian_version

我可以直接给你对应命令 ✅

0