ecosystem.config.cjs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /**
  2. * PM2 生产配置
  3. *
  4. * Chromium 二选一(不要同时生效两套矛盾配置):
  5. *
  6. * 1) 麒麟 ARM64 推荐:用本机/离线包里的 ARM64 Chromium(避免 Puppeteer 拉到 x86 的 chrome-linux64)
  7. * CHART_CHROME_SOURCE=system + CHROME_PATH 指向真实 chrome 文件
  8. *
  9. * 2) 仅用 npm 缓存的 Chromium:需本机 node 为 arm64 且 npm run puppeteer:install 下的是 arm64 包
  10. * CHART_CHROME_SOURCE=bundled,不要设置 CHROME_PATH
  11. *
  12. * 密钥建议改为服务器环境变量注入,勿长期明文写在仓库里。
  13. */
  14. module.exports = {
  15. apps: [
  16. {
  17. name: "download-app",
  18. cwd: "/data/nodejs/download-app-prod",
  19. script: "/data/nodejs/download-app-prod/index.mjs",
  20. interpreter: "node",
  21. instances: 1,
  22. exec_mode: "fork",
  23. watch: false,
  24. max_memory_restart: "800M",
  25. env: {
  26. NODE_ENV: "production",
  27. API_BASE_URL: "http://192.168.50.234:3001",
  28. MINIO_ENDPOINT: "192.168.50.234",
  29. MINIO_PORT: "6900",
  30. MINIO_ACCESS_KEY: "C5xa2oaFDz0v101ikIGh",
  31. MINIO_SECRET_KEY: "dyeBulGGXjMNLqmw6tgiBSRrncBkasuTqGEj4IkB",
  32. // —— 麒麟 ARM64:推荐系统/离线包里的 arm64 chrome(按你服务器实际路径改)——
  33. CHART_CHROME_SOURCE: "system",
  34. CHROME_PATH:
  35. "/data/nodejs/chromium_138.0.7204.162_1-arm64_linux/chrome",
  36. // —— 若坚持用 npm 自带 Chromium,改为下面两行并注释掉上面 CHART_CHROME_SOURCE + CHROME_PATH ——
  37. // CHART_CHROME_SOURCE: "bundled",
  38. // (bundled 时不要设置 CHROME_PATH)
  39. // 可选:统一缓存目录(多实例/离线拷贝缓存时用)
  40. // PUPPETEER_CACHE_DIR: "/data/nodejs/puppeteer-cache",
  41. PUPPETEER_BROWSER_LAUNCH_TIMEOUT_MS: "120000",
  42. CHART_RENDER_TIMEOUT_MS: "180000",
  43. CHART_RENDER_CONCURRENCY: "2",
  44. CHART_MAX_PAGES: "2",
  45. CHART_CHROME_OZONE_HEADLESS: "1",
  46. },
  47. },
  48. ],
  49. };