/** * PM2 生产配置 * * Chromium 二选一(不要同时生效两套矛盾配置): * * 1) 麒麟 ARM64 推荐:用本机/离线包里的 ARM64 Chromium(避免 Puppeteer 拉到 x86 的 chrome-linux64) * CHART_CHROME_SOURCE=system + CHROME_PATH 指向真实 chrome 文件 * * 2) 仅用 npm 缓存的 Chromium:需本机 node 为 arm64 且 npm run puppeteer:install 下的是 arm64 包 * CHART_CHROME_SOURCE=bundled,不要设置 CHROME_PATH * * 密钥建议改为服务器环境变量注入,勿长期明文写在仓库里。 */ module.exports = { apps: [ { name: "download-app", cwd: "/data/nodejs/download-app-prod", script: "/data/nodejs/download-app-prod/index.mjs", interpreter: "node", instances: 1, exec_mode: "fork", watch: false, max_memory_restart: "800M", env: { NODE_ENV: "production", API_BASE_URL: "http://192.168.50.234:3001", MINIO_ENDPOINT: "192.168.50.234", MINIO_PORT: "6900", MINIO_ACCESS_KEY: "C5xa2oaFDz0v101ikIGh", MINIO_SECRET_KEY: "dyeBulGGXjMNLqmw6tgiBSRrncBkasuTqGEj4IkB", // —— 麒麟 ARM64:推荐系统/离线包里的 arm64 chrome(按你服务器实际路径改)—— CHART_CHROME_SOURCE: "system", CHROME_PATH: "/data/nodejs/chromium_138.0.7204.162_1-arm64_linux/chrome", // —— 若坚持用 npm 自带 Chromium,改为下面两行并注释掉上面 CHART_CHROME_SOURCE + CHROME_PATH —— // CHART_CHROME_SOURCE: "bundled", // (bundled 时不要设置 CHROME_PATH) // 可选:统一缓存目录(多实例/离线拷贝缓存时用) // PUPPETEER_CACHE_DIR: "/data/nodejs/puppeteer-cache", PUPPETEER_BROWSER_LAUNCH_TIMEOUT_MS: "120000", CHART_RENDER_TIMEOUT_MS: "180000", CHART_RENDER_CONCURRENCY: "2", CHART_MAX_PAGES: "2", CHART_CHROME_OZONE_HEADLESS: "1", }, }, ], };