/** * 管理端(lotteryadmin)宝塔 PM2 配置 * * 部署步骤(在服务器项目目录执行): * 1. 本地 npm run build,打包 .next/standalone + .next/static + public 上传服务器 * 2. 服务器:复制 .env.example 为 .env,按线上域名填写 * 3. 修改下方 cwd 为服务器上的实际路径(默认即本文件所在目录) * 4. pm2 start ecosystem.config.cjs * 5. pm2 save && pm2 startup * * 宝塔:PM2 管理器 → 添加项目 → 选择本文件。 * Nginx:反代到 127.0.0.1:3801 即可;/api 由 Next 转发到 LOTTERY_API_UPSTREAM,无需单独配。 */ const path = require("path"); /** 改成服务器上的绝对路径,例如 /www/wwwroot/lotteryadmin.tanumo.com */ const APP_CWD = path.resolve(__dirname); module.exports = { apps: [ { name: "lotteryadmin", cwd: APP_CWD, script: ".next/standalone/server.js", interpreter: "node", exec_mode: "fork", instances: 1, autorestart: true, watch: false, max_memory_restart: "1G", time: true, merge_logs: true, out_file: path.join(APP_CWD, "logs/pm2-out.log"), error_file: path.join(APP_CWD, "logs/pm2-error.log"), env: { NODE_ENV: "production", HOSTNAME: "0.0.0.0", PORT: "3801", }, // LOTTERY_API_UPSTREAM 只写在 .env,勿在此硬编码(会覆盖 .env 导致 API 502) env_file: path.join(APP_CWD, ".env"), }, ], };