温馨提示×

怎样开启debian nodejs日志

小樊
42
2026-09-04 02:43:20
栏目: 编程语言

在 Debian 上“开启 Node.js 日志”通常分几种情况,下面按最常见场景给你说明,你可以按需选择。


一、Node.js 应用本身输出日志(最常用)

Node.js 默认不会自动写日志文件,需要你在代码里输出,并由运行方式决定日志去向。

1. 在代码中打印日志

console.log('服务启动');
console.error('错误信息');

2. 使用 PM2(强烈推荐)

PM2 会自动管理 Node.js 日志。

安装 PM2

sudo npm install -g pm2

启动应用

pm2 start app.js

查看日志

pm2 logs
pm2 logs app

日志文件位置

~/.pm2/logs/

二、把日志写入文件(不使用 PM2)

启动并记录日志

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

实时查看

tail -f app.log

三、使用 systemd(Debian 官方推荐方式)

如果你的 Node.js 是作为服务运行:

1. 创建 service 文件

sudo nano /etc/systemd/system/nodeapp.service

示例:

[Unit]
Description=Node.js App
After=network.target

[Service]
ExecStart=/usr/bin/node /var/www/app/app.js
WorkingDirectory=/var/www/app
User=www-data
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodeapp

[Install]
WantedBy=multi-user.target

2. 启用并启动

sudo systemctl daemon-reexec
sudo systemctl enable nodeapp
sudo systemctl start nodeapp

3. 查看日志

journalctl -u nodeapp -f

四、开启更详细的日志(调试)

DEBUG=* node app.js

NODE_DEBUG=http,net node app.js

五、常见日志方案建议

场景 推荐方式
开发 console.log
生产 PM2 / systemd
长期保存 Winston / Pino
容器 输出 stdout

如果你能告诉我:

  • 开发还是生产
  • 是否使用 PM2 / Docker / Nginx
  • Node 版本

我可以给你更精确的配置示例。

0