Files
memind/docs/gadm-local.md
T
2026-06-20 15:41:22 +08:00

2.8 KiB
Raw Blame History

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 挂了,按这个顺序查:

  1. Studio 上 http://127.0.0.1:8082/healthz 是否正常
  2. Studio 上 memind_adm 是否还在运行
  3. 105 上 nginx 是否把 gadm.tkmind.cn 转发到了 Studio
  4. ADMIN_CONSOLES、ADMIN_API_ALLOWED_HOSTS、OPS_API_ALLOWED_HOSTS 是否限制过严

相关文件