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