温馨提示×

ubuntu如何定位nodejs日志

小樊
34
2026-09-24 19:53:30
栏目: 编程语言

在 Ubuntu 上“定位 Node.js 日志”通常分几种情况,下面按常见场景给你说明,基本能覆盖 90% 的需求。


一、Node.js 应用自身打印的日志

1. 前台运行(最常见)

如果你是直接运行:

node app.js

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

如果用了:

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

日志就在:

./app.log

2. 使用 PM2(非常常见)

如果你用 PM2 管理 Node.js:

pm2 logs

查看某个应用:

pm2 logs app-name

日志文件实际位置:

~/.pm2/logs/

例如:

~/.pm2/logs/app-name-out.log
~/.pm2/logs/app-name-error.log

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

如果 Node.js 是通过 systemd 启动的:

查看日志:

journalctl -u your-node-service

实时查看:

journalctl -u your-node-service -f

日志位置(一般不用直接看文件):

/var/log/syslog
/var/log/journal/

二、Node.js 崩溃 / 错误信息

1. 未捕获异常

如果你看到:

Error: ...
    at Object.<anonymous> (/path/app.js:10:5)

这是应用代码错误,日志在:

  • 终端
  • PM2 error log
  • journalctl

2. Core dump(少见)

如果 Node 崩溃并生成 core:

/var/crash/

或:

core.*

三、Web 服务器相关日志(Nginx + Node)

如果 Node 在 Nginx 后面:

Nginx 日志:

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

查看 Node 请求是否进来:

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

四、快速定位“Node 进程在哪里跑”

ps aux | grep node

查看监听端口:

sudo netstat -tunlp | grep node
# 或
sudo ss -tunlp | grep node

五、常见排查命令汇总

# 实时看日志
tail -f app.log

# 搜关键字
grep -i error app.log

# PM2
pm2 logs

# systemd
journalctl -u node-app -f

六、建议你补充的信息(方便更精准)

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

  1. Node 是怎么启动的(命令行 / PM2 / Docker / systemd)
  2. 用的是哪种框架(Express / Nest / 原生)
  3. 你是想找错误日志还是访问日志

我可以直接给你最合适的一条命令。

0 踩