fix: remove PORT/ZY_SITE_MODE from .env.app to prevent PM2 port conflict
The deploy workflow was writing PORT=3800 and ZY_SITE_MODE=production into .env.app, which gets loaded by ecosystem.config.js's loadEnvFile(). Since ...appEnv is spread first and instance-specific values override it, this is now safe — but removing them from .env.app eliminates the root cause entirely (belt-and-suspenders fix). Agent-Logs-Url: https://github.com/qinfendebingshuo/guanghulab/sessions/80f409c9-7f98-443e-9c31-21111194a523 Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
This commit is contained in:
parent
ece55b2c86
commit
9dffe85f22
|
|
@ -319,10 +319,11 @@ jobs:
|
|||
npm install --production 2>&1
|
||||
|
||||
# ─── 写入主应用环境变量配置 ───
|
||||
# 注意: PORT 和 ZY_SITE_MODE 不写入 .env.app
|
||||
# 这两个值由 ecosystem.config.js 按实例设置 (主站3800/预览站3801)
|
||||
# 写入 .env.app 会导致 loadEnvFile() 覆盖预览实例的端口 → 两实例抢端口 → 502
|
||||
echo "NODE_ENV=production" > /opt/zhuyuan/app/.env.app
|
||||
echo "PORT=3800" >> /opt/zhuyuan/app/.env.app
|
||||
echo "ZY_ROOT=/opt/zhuyuan" >> /opt/zhuyuan/app/.env.app
|
||||
echo "ZY_SITE_MODE=production" >> /opt/zhuyuan/app/.env.app
|
||||
echo "ZY_DEEPSEEK_API_KEY=${ZY_DEEPSEEK_API_KEY}" >> /opt/zhuyuan/app/.env.app
|
||||
echo "ZY_QIANWEN_API_KEY=${ZY_QIANWEN_API_KEY}" >> /opt/zhuyuan/app/.env.app
|
||||
echo "ZY_KIMI_API_KEY=${ZY_KIMI_API_KEY}" >> /opt/zhuyuan/app/.env.app
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ module.exports = {
|
|||
max_memory_restart: '512M',
|
||||
env: {
|
||||
...appEnv,
|
||||
// 实例专属配置放在 ...appEnv 之后,确保不被 .env.app 中的值覆盖
|
||||
// ⚠️ 实例专属值必须在 ...appEnv 之后 · 覆盖 .env.app 中可能残留的 PORT/ZY_SITE_MODE
|
||||
NODE_ENV: 'production',
|
||||
PORT: 3800,
|
||||
ZY_ROOT: '/opt/zhuyuan',
|
||||
|
|
@ -75,8 +75,7 @@ module.exports = {
|
|||
max_memory_restart: '256M',
|
||||
env: {
|
||||
...appEnv,
|
||||
// 实例专属配置放在 ...appEnv 之后,确保不被 .env.app 中的值覆盖
|
||||
// .env.app 中的 PORT=3800 和 ZY_SITE_MODE=production 不能覆盖预览实例的值
|
||||
// ⚠️ 实例专属值必须在 ...appEnv 之后 · 预览实例 PORT=3801 不能被 .env.app 的 PORT=3800 覆盖
|
||||
NODE_ENV: 'production',
|
||||
PORT: 3801,
|
||||
ZY_ROOT: '/opt/zhuyuan',
|
||||
|
|
|
|||
Loading…
Reference in New Issue