温馨提示×

Debian中Nodejs日志怎么查

小樊
33
2026-07-13 03:40:09
栏目: 编程语言

在 Debian 系统中查看 Node.js 日志,取决于你的 部署方式日志配置。下面按常见场景给你一个系统性的排查指南。


一、Node.js 应用本身产生的日志

1️⃣ 应用直接输出到 stdout / stderr(最常见)

如果你是这样启动的:

node app.js

npm start

那么日志通常输出在:

  • 终端
  • systemd journal(如果用 systemd)
  • 重定向的文件

查看方式

# 如果当前在前台运行
直接看终端输出

二、使用 systemd 管理 Node.js(最常见生产环境)

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

假设你的服务名是 node-app

sudo journalctl -u node-app -f

常用参数:

sudo journalctl -u node-app --since "2025-01-01" --until "2025-01-02"
sudo journalctl -u node-app -n 100

这是 Debian / Ubuntu 最常见、最推荐的方式


2️⃣ 查看 systemd 服务定义

systemctl status node-app

或:

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

常见日志相关配置:

StandardOutput=journal
StandardError=journal

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

1️⃣ 查看所有应用

pm2 list

2️⃣ 查看日志

pm2 logs
pm2 logs app_name

只看错误:

pm2 logs --err

实时查看:

pm2 logs --lines 100

日志默认位置:

~/.pm2/logs/

四、Docker 中的 Node.js

1️⃣ 查看容器日志

docker logs 容器名
docker logs -f 容器名

2️⃣ 查看日志位置(如果挂载了卷)

docker inspect 容器名 | grep LogPath

五、应用自己写文件日志(如 winston / log4js)

常见路径

/var/log/node/
/var/log/myapp/
~/logs/

查找日志文件:

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

如果你用了 winston:

new winston.transports.File({ filename: '/var/log/node/app.log' })

六、Nginx / Apache 反向代理日志(Node 接口异常时)

Nginx

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

查看:

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

七、快速定位 Node.js 日志的通用方法

1️⃣ 看进程启动方式

ps aux | grep node

2️⃣ 看是否有重定向

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

3️⃣ 看 systemd / pm2 / docker


八、推荐的生产环境日志方案 ✅

最佳实践

  • 使用 systemd + journald
  • PM2 + 文件日志
  • Docker + json-file / syslog

不要

  • 直接在终端跑 node
  • 不记录日志

九、如果你愿意,我可以帮你精准定位

你可以告诉我:

  1. Node.js 是怎么启动的?(systemd / pm2 / docker / 手动)
  2. Debian 版本(cat /etc/os-release
  3. 是否用了 Nginx / Apache
  4. 报错现象(比如 502 / 崩溃 / 无响应)

我可以直接给你 一条最精准的查日志命令

0