724运维节特惠,3年企业版2399元,立省600元!查看活动
当前位置:论坛首页 > Linux面板 > 求助

[Node项目管理器] 自定义 ecosystem 配置下 env_production 未注入...

发表在 Linux面板前天 16:23 [复制链接] 0 18

为了能快速了解并处理您的问题,请提供以下基础信息:
环境:
- 宝塔 Linux 面板
- Node.js v24.18.0
- PM2 v7.0.3
- Next.js 16.2.10
- PM2 Cluster 实例数:3

复现步骤:
1. 在宝塔 Node 项目管理器中选择自定义 ecosystem.config.cjs。
2. 在“环境变量”中填写 NODE_ENV、HOSTNAME、PORT、Redis 等变量。
3. 保存并通过宝塔重启项目。
4. PM2 详情能够看到 env_production 对象,但执行 pm2 env 0 或检查实际 Node 进程环境时,这些变量并不存在。

实际结果:
1. 宝塔只执行:
   pm2 start ecosystem.config.cjs
2. 没有携带:
   --env production --update-env
3. env_production 只是保存在 PM2 配置元数据中,没有合并到当前进程环境。
4. HOSTNAME=127.0.0.1 未生效,应用仍监听 0.0.0.0。
5. Redis 环境变量未注入,导致 Next.js 共享缓存未启用。
6. 宝塔项目的 pm2_name 与 ecosystem 中 apps[].name 不一致时,项目实际运行但宝塔可能显示“未启动”。

期望结果:
1. 自定义 ecosystem 配置使用 env_production 时,宝塔应执行:
   pm2 startOrReload ecosystem.config.cjs --env production --update-env
2. 或将面板环境变量合并到 ecosystem 的 env 字段,使其默认生效。
3. 宝塔应读取 ecosystem 中 apps[].name 并同步 pm2_name,用于正确判断项目运行状态。
4. 重启和开机自启脚本应使用相同配置,避免重启后丢失环境变量或退回单实例模式。


使用道具 举报 只看该作者 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表