ecosystem.config.js 1.5 KB

123456789101112131415161718192021222324252627282930
  1. module.exports = {
  2. apps: [
  3. {
  4. // 进程名称(自定义,好记:mqtt后端)
  5. name: "mqtt-dashboard-backend",
  6. // 后端入口文件(通用:app.js/index.js/server.js,99%的后端都是这三个,有其他名字改这里即可)
  7. script: "./dist/index.js",
  8. // 运行模式:fork 单进程 ✅后端推荐,MQTT服务用单进程足够,资源占用极低
  9. exec_mode: "fork",
  10. instances: 1,
  11. // 运行环境:生产环境 production ✅后端必须配置
  12. env: {
  13. NODE_ENV: "production",
  14. TZ: "Asia/Shanghai" // 设置时区为北京时间
  15. },
  16. // ======== 后端核心守护配置(重中之重,全部开启) ========
  17. autorestart: true, // 进程崩溃/报错/被杀掉 → 自动重启 ✅必开
  18. max_memory_restart: "200M", // 内存占用超200M自动重启,释放内存,防止内存泄漏 ✅后端必开
  19. restart_delay: 500, // 崩溃后0.5秒重启,快速恢复服务
  20. min_uptime: "3s", // 进程运行至少3秒才算稳定,避免无限重启
  21. // ======== 后端日志配置(排查BUG必备,MQTT消息/报错全留存) ========
  22. log_date_format: "YYYY-MM-DD HH:mm:ss", // 日志带时间戳,方便定位问题
  23. out_file: "./logs/pm2-out.log", // 正常运行日志(比如MQTT连接日志)
  24. error_file: "./logs/pm2-error.log", // 错误日志(比如端口占用、代码报错)
  25. merge_logs: true, // 合并日志,方便查看
  26. }
  27. ]
  28. };