2.8 KiB
2.8 KiB
gadm 由 105 入口转发到 Studio
gadm.tkmind.cn 的生产链路和 Plaza 一样,都是 105 入口 -> Studio 生产机。
这里的后台服务名是 memind_adm,代码入口在本仓库的 admin-server.mjs。
角色拆分
浏览器 / 内部管理人员
↓
105 公网入口(gadm.tkmind.cn)
↓ nginx / 反代
Studio / 本机生产机
└─ memind_adm :8082(admin-server.mjs)
├─ /healthz
├─ /admin-api/*
└─ /api/ops/v1/*
memind_adm 只负责后端管理 API,不直接托管大部分前台页面。
开发时,ops/ 里的后台 SPA 会把请求代理到它;生产上则由 gadm.tkmind.cn 入口把请求转给 Studio。
本地开发
pnpm dev:adm
默认监听 http://127.0.0.1:8082。
常见本地访问地址:
| 服务 | 地址 |
|---|---|
| memind_adm | http://127.0.0.1:8082 |
| ops 后台 | http://127.0.0.1:3002/ops/ |
测试机同步
如果要同步到测试目录,memind_adm 对应的是:
- 源码目录:
/Users/john/PycharmProjects/test/test-memind - 测试镜像目录:
/Users/john/PycharmProjects/test/test-memindadm
同步脚本:
bash scripts/deploy-to-test-host.sh --only-adm
如果你要同步三套目录,也可以直接:
bash scripts/deploy-to-test-host.sh
生产发布流程
生产上,gadm.tkmind.cn 解析到 105,105 只做反代,最终回源到 Studio 上的 memind_adm。
1. 在 Studio 上更新代码
推荐从本地开发目录发布到 Studio:
cd /Users/john/PycharmProjects/test/test-memind
git status --short
如果你改的是 admin-server.mjs、admin-routes.mjs、admin-*.mjs 或 ops/,记得先本地自测。
2. 启动 / 重启 memind_adm
cd /Users/john/Project/Memind
pnpm dev:adm
如果你们的生产环境是 launchd、pm2、systemd 或别的守护方式,就让它最终执行同一个入口:
node admin-server.mjs
3. 105 入口反代
105 上的 nginx 应该把 gadm.tkmind.cn 回源到 Studio 的 memind_adm :8082。
上线后优先验证:
curl -I https://gadm.tkmind.cn/healthz
curl -s https://gadm.tkmind.cn/healthz
故障排查顺序
如果 gadm.tkmind.cn 挂了,按这个顺序查:
- Studio 上
http://127.0.0.1:8082/healthz是否正常 - Studio 上
memind_adm是否还在运行 - 105 上 nginx 是否把
gadm.tkmind.cn转发到了 Studio ADMIN_CONSOLES、ADMIN_API_ALLOWED_HOSTS、OPS_API_ALLOWED_HOSTS是否限制过严