温馨提示×

Linux Nodejs日志在哪查看

小樊
59
2026-08-29 00:34:20
栏目: 编程语言

Linux 上查看 Node.js 日志,取决于你是怎么启动和运行 Node.js 的。下面按常见场景给你一个速查表。


一、最常见情况(直接运行)

如果你是这样启动的:

node app.js

1️⃣ 控制台输出(最常用)

# 直接看终端

如果后台运行:

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

查看日志:

tail -f app.log

二、使用 PM2(强烈推荐)

如果你用 PM2 管理 Node.js 进程(最常见于生产环境):

查看日志

pm2 logs

查看指定应用:

pm2 logs app-name

实时查看:

pm2 logs --lines 100

日志默认位置:

~/.pm2/logs/

三、使用 systemd(Ubuntu / CentOS 常见)

如果你是 systemd 服务:

查看日志

journalctl -u your-service-name -f

或:

journalctl -u node-app -f

查看启动日志:

journalctl -u your-service-name --since today

四、Docker 中运行 Node.js

docker logs 容器ID或名称

实时查看:

docker logs -f 容器名

五、Node.js 自己写的日志

常见日志库

  • console.log
  • winston
  • pino
  • morgan(HTTP 请求)

查看方式

# 如果输出到文件
tail -f logs/app.log

六、Nginx 反向代理时(常见)

Node.js 本身没问题,但访问异常时还需要看 Nginx:

# 错误日志
tail -f /var/log/nginx/error.log

# 访问日志
tail -f /var/log/nginx/access.log

七、找不到日志?快速排查

ps -ef | grep node
lsof -p 进程ID
find / -name "*.log" 2>/dev/null | grep node

八、推荐做法(生产环境)

✅ 使用 PM2 + 日志文件
✅ 或 systemd + journalctl
✅ 日志一定要区分 stdout / stderr


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

  • ✅ 你是怎么启动 Node.js 的?
  • ✅ 是本地还是服务器?
  • ✅ 用的是 PM2 / Docker / systemd?

我可以直接帮你定位到具体日志文件路径

0