ecosystem.config.cjs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. const path = require("path");
  2. /**
  3. * PM2 多环境说明:
  4. * - jchl-test:测试环境(默认端口 3100)
  5. * - jchl-prod:生产环境(默认端口 3000)
  6. *
  7. * 端口可在下面 env 中改,或由服务器上的 .env.production / 系统环境变量覆盖。
  8. * 敏感信息不要写进本文件,用 PM2 --env 或服务器环境变量注入。
  9. *
  10. * NEXT_PUBLIC_*(如 API 地址)在 next build 时已打入前端包;PM2 里再改不会更新浏览器里的接口域名。
  11. * 测试 / 生产请分别用 npm run build:test 与 npm run build,或在构建前注入相同的环境变量。
  12. */
  13. module.exports = {
  14. apps: [
  15. {
  16. name: "jchl-test",
  17. cwd: path.resolve(__dirname),
  18. script: "server.js",
  19. interpreter: "node",
  20. instances: 1,
  21. exec_mode: "fork",
  22. autorestart: true,
  23. watch: false,
  24. max_memory_restart: "800M",
  25. env: {
  26. NODE_ENV: "production",
  27. PORT: 3100,
  28. },
  29. },
  30. {
  31. name: "jchl-prod",
  32. cwd: path.resolve(__dirname),
  33. script: "server.js",
  34. interpreter: "node",
  35. instances: 1,
  36. exec_mode: "fork",
  37. autorestart: true,
  38. watch: false,
  39. max_memory_restart: "1G",
  40. env: {
  41. NODE_ENV: "production",
  42. PORT: 3000,
  43. },
  44. },
  45. ],
  46. };