2.1 KiB
2.1 KiB
Plaza 由 105 入口转发到 Studio
plaza.tkmind.cn 现在解析到 105 服务器,105 只负责公网入口和反代,最终回源到 Studio 上的 Plaza 生产服务。
架构
浏览器 / 微信
↓
105 公网入口(plaza.tkmind.cn)
↓ nginx / 反代
Studio / 本机生产机
├─ :3001 Plaza Next.js(/plaza、/_next)
│ └─ rewrites → :8081(/api、/auth、/u)
└─ :8081 Memind Portal(server.mjs)
Next.js 通过 PLAZA_API_PROXY 把 API 请求转发到 Portal,无需单独 nginx。105 侧只负责把 https://plaza.tkmind.cn/plaza 回源到 Studio 的 :3001。
运行前提
- 105 上 nginx 配置正常,
/plaza和/_next代理到 Studio - Studio 上 Plaza 已完成
next build - Studio 上 Plaza 生产进程正在监听
127.0.0.1:3001 - Studio 上 Portal 正在监听
127.0.0.1:8081
日常启动
# Studio 上启动 Plaza 生产模式
pnpm start:plaza
# 开发模式(热更新,仅本地调试)
pnpm dev:plaza
# 全栈(MindSpace + Plaza + Ops)
pnpm dev
访问方式
| 场景 | 地址 |
|---|---|
| 本机直连 | http://127.0.0.1:3001/plaza |
| 105 公网入口 | https://plaza.tkmind.cn/plaza |
| 浏览器强制本地 | pnpm open:plaza |
常见故障
访问 502
优先按这个顺序检查:
- Studio 上
http://127.0.0.1:3001/plaza是否返回 200 - Studio 上 Plaza 生产进程是否还在
- 105 上 nginx 是否已经 reload 到最新配置
如果 Studio 的 :3001 没起来,105 再怎么转发也会 502。
Studio 启动失败
如果 pnpm start:plaza 一直退出,优先看 ~/Library/Logs/plaza-prod.log。这次修复里我们遇到过两类问题:
next/font/google在离线构建时会拉不到字体资源- 类型检查会因为事件批处理数组的推断过宽而失败
已弃用
- 把
plaza.tkmind.cn直接指到本机127.0.0.1的旧本地劫持流程 - 直接把
plaza.tkmind.cn说明成 Cloudflare Tunnel 直连本机的旧说法 - “105 已停用、Plaza 全在本机且不经过 105”的旧文档描述