| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- const path = require("path");
- /**
- * PM2 多环境说明:
- * - jchl-test / jchl-prod:默认 `PORT=4000`,与 `server.js`、Nginx 反代常见配置一致;改端口时请同步 Nginx upstream。
- *
- * 端口可在下面 env 中改,或由服务器上的 .env.production / 系统环境变量覆盖。
- * 敏感信息不要写进本文件,用 PM2 --env 或服务器环境变量注入。
- *
- * NEXT_PUBLIC_*(如 API 地址)在 next build 时已打入前端包;PM2 里再改不会更新浏览器里的接口域名。
- * 测试 / 生产请分别用 npm run build:test 与 npm run build。
- * build:test 读取 .env.development(含 API_PROXY_TARGET 等),再执行 next build。
- *
- * 若 API 使用 __ORIGIN__(与站点同源),服务端渲染发请求时还需在构建或运行环境提供
- * NEXT_PUBLIC_SITE_URL(例如 https://你的前端域名),否则服务端拿不到页面域名。
- *
- * 主业务 / 汇款端口由 Next rewrites 决定:`API_PROXY_TARGET` → 如 :8005,`API_PROXY_TARGET_REMITTANCE` → 如 :8504。
- * 这两项在 **next build** 时读入 next.config;打包流水线或本机构建前需注入,与公网域名解耦。
- */
- module.exports = {
- apps: [
- {
- name: "jchl-test",
- cwd: path.resolve(__dirname),
- script: "server.js",
- interpreter: "node",
- instances: 1,
- exec_mode: "fork",
- autorestart: true,
- watch: false,
- max_memory_restart: "800M",
- env: {
- NODE_ENV: "production",
- PORT: 4000,
- },
- },
- {
- name: "jchl-prod",
- cwd: path.resolve(__dirname),
- script: "server.js",
- interpreter: "node",
- instances: 1,
- exec_mode: "fork",
- autorestart: true,
- watch: false,
- max_memory_restart: "1G",
- env: {
- NODE_ENV: "production",
- PORT: 4000,
- },
- },
- ],
- };
|