温馨提示×

debian js日志如何配置路径

小樊
49
2026-09-28 09:20:52
栏目: 编程语言

在 Debian 上,“JS 日志路径”通常取决于你用的是 哪种 JS 运行环境 / 框架:

  • Node.js(原生、PM2、systemd)
  • Nginx 反向代理前的 JS 应用
  • 前端构建(webpack / vite)日志
  • Docker 中的 Node 服务

下面按最常见场景说明。


一、Node.js 应用(最常用)

1️⃣ 在代码里指定日志路径(推荐)

const fs = require('fs');
const path = require('path');

const logDir = '/var/log/myapp';
if (!fs.existsSync(logDir)) {
  fs.mkdirSync(logDir, { recursive: true });
}

const logStream = fs.createWriteStream(
  path.join(logDir, 'app.log'),
  { flags: 'a' }
);

console.log = (msg) => {
  logStream.write(`[${new Date().toISOString()}] ${msg}\n`);
};

✅ 日志路径:/var/log/myapp/app.log


2️⃣ 使用 Winston(生产推荐)

npm install winston
const winston = require('winston');

const logger = winston.createLogger({
  transports: [
    new winston.transports.File({
      filename: '/var/log/myapp/app.log'
    })
  ]
});

logger.info('server started');

二、使用 PM2(Debian 常见)

PM2 默认日志在:

~/.pm2/logs/

自定义日志路径

pm2 start app.js \
  --name myapp \
  --log /var/log/myapp/pm2.log \
  --output /var/log/myapp/out.log \
  --error /var/log/myapp/err.log

或 ecosystem.config.js:

module.exports = {
  apps: [{
    name: 'myapp',
    script: 'app.js',
    out_file: '/var/log/myapp/out.log',
    error_file: '/var/log/myapp/err.log',
    log_file: '/var/log/myapp/pm2.log'
  }]
};

三、systemd 服务(Debian 官方推荐方式)

1️⃣ 写 service 文件

[Unit]
Description=Node App

[Service]
ExecStart=/usr/bin/node /opt/myapp/app.js
WorkingDirectory=/opt/myapp
StandardOutput=append:/var/log/myapp/stdout.log
StandardError=append:/var/log/myapp/stderr.log
User=www-data
Restart=always

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reexec
sudo systemctl enable myapp
sudo systemctl start myapp

✅ 日志路径:

  • /var/log/myapp/stdout.log
  • /var/log/myapp/stderr.log

四、Nginx + Node.js(前端 JS 请求日志)

server {
  access_log /var/log/nginx/myapp-access.log;
  error_log  /var/log/nginx/myapp-error.log;

  location / {
    proxy_pass http://127.0.0.1:3000;
  }
}

五、日志目录权限(很重要)

sudo mkdir -p /var/log/myapp
sudo chown -R www-data:www-data /var/log/myapp

六、总结建议

场景 推荐方式
小项目 代码写文件
生产 Node Winston + systemd
多进程 PM2
Web 请求 Nginx 日志

如果你能告诉我:

  • ✅ 用的是 Node / Vue / React / Next
  • ✅ 是否用 PM2 / Docker / systemd
  • ✅ Debian 版本

我可以给你直接可用的配置示例。

0 踩