温馨提示×

linux怎么查nodejs访问日志

小樊
38
2026-09-05 16:29:14
栏目: 编程语言

在 Linux 上查看 Node.js 的访问日志,取决于你的 Node.js 应用是怎么记录日志的。下面按常见情况说明:


一、Node.js 自己写的访问日志(最常见)

1. 使用 console.log

如果代码里是这样记录的:

console.log(`[${new Date()}] ${req.method} ${req.url}`)

日志会输出到:

  • 终端(如果你是直接运行)
  • 系统日志 / 文件

查看方式:

# 如果你用 nohup 启动
cat nohup.out

# 如果你重定向了日志
cat app.log

2. 使用日志文件(如 winston / log4js / pino)

例如:

logger.info(`${req.method} ${req.url}`)

查看日志文件:

tail -f logs/access.log

二、使用 Express + Morgan(非常常见)

如果你用了:

app.use(morgan('combined'))

默认输出到控制台,一般会重定向到文件:

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

查看:

tail -f access.log

三、通过 Nginx 反代 Node.js(生产环境常见)

Node 本身不记录访问日志,由 Nginx 记录。

Nginx 访问日志位置

# Ubuntu / Debian
/var/log/nginx/access.log

# CentOS / Rocky
/var/log/nginx/access.log

查看:

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

实时监控:

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

四、使用 PM2 管理 Node.js

如果你用 PM2:

pm2 logs

只看某个应用:

pm2 logs app_name

日志文件位置:

~/.pm2/logs/

五、Docker 中的 Node.js

docker logs -f 容器名

六、快速排查“到底有没有访问日志”

# 找 node 进程
ps aux | grep node

# 看打开的文件
lsof -p 进程ID | grep log

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

  • Node:用 morgan + 文件日志
  • 前端:Nginx 记录访问日志
  • 集中:ELK / Loki / Grafana

如果你愿意,可以把:

  • Node 启动方式
  • 是否用 Nginx
  • 是否用 PM2 / Docker

告诉我,我可以给你精确的查看命令

0