开发环境端口管理
3000 系端口给 pm2 生产构建(对接 dev 域名),4000 系端口给 Vite 开发服务器,两套可同时运行互不冲突。
概述
开发环境端口管理方案解决了 pm2 serve 静态文件和 Vite dev server 端口冲突的问题。在此之前,两者使用相同端口导致无法同时运行。方案将端口分为两个段:3000 系给 pm2(serve dist 产物,对接 *.dev.dora.restry.cn 域名),4000 系给 Vite HMR(本地调试用)。
端口分配表
| 项目 | pm2 dist → dev 域名 | vite dev (调试) |
|---|---|---|
| ClawCraft | 3010 → craft.dev.dora.restry.cn | 4010 |
| Portal | 3013 → portal.dev.dora.restry.cn | 4013 |
| BI | 3016 → bi.dev.dora.restry.cn | 4016 |
| Gateway | 3020 → gw.dev.dora.restry.cn | 4020 |
| Client Web | 3026 → web.dev.dora.restry.cn | 4026 |
架构
*.dev.dora.restry.cn
↓ Caddy 反向代理
3000 系端口 (pm2 serve dist/)
← npm run build 产物
4000 系端口 (vite dev server)
← 本地 HMR 开发调试
pm2 管理
- 5 个 dev 服务全部由 pm2 管理
pm2 save已持久化pm2-resley.service开机自启- 重启机器也不丢
Caddy 配置注意
Portal 需要特殊处理——pm2 serve 只提供静态文件,API 需要 Caddy 代理:
- 静态文件 → pm2 serve 3013
/api/*→ localhost:3002(Node.js 后端进程)
安全考虑
- 3000 系端口通过 Caddy HTTPS 反代暴露
- 4000 系端口仅本地访问(Azure NSG 未开放)
- 旧的 18820 端口已废弃,改为 3019(NSG 天然屏蔽)