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

3.6 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 :8082admin-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

0. 本地改动确认

推荐从本地开发目录发布到 Studio:

cd /Users/john/PycharmProjects/test/test-memind
git status --short

如果你改的是 admin-server.mjsadmin-routes.mjsadmin-*.mjsops/,记得先本地自测。

1. 本地启动 / 自测

pnpm dev:adm

默认监听 http://127.0.0.1:8082,启动后先看:

curl -s http://127.0.0.1:8082/healthz

2. 同步到测试机

bash scripts/deploy-to-test-host.sh --only-adm

测试镜像目录是 /Users/john/PycharmProjects/test/test-memindadm

3. Studio 生产机启动 / 重启

在 Studio 机器上,memind_adm 最终都应该由同一个入口启动:

cd /Users/john/Project/Memind
node admin-server.mjs

如果你们在 Studio 上用了 launchd / pm2 / systemd,就让守护脚最终执行上面这条命令。

常见的生产检查:

curl -s http://127.0.0.1:8082/healthz
curl -s http://127.0.0.1:8082/admin-api/summary

4. 105 入口反代

105 上的 nginx 应该把 gadm.tkmind.cn 回源到 Studio 的 memind_adm :8082

如果你要确认 nginx 当前配置,优先看:

ssh ssh105 'nginx -t && systemctl reload nginx'
ssh ssh105 'sed -n "1,220p" /etc/nginx/conf.d/gadm.tkmind.cn.conf'

上线后优先验证:

curl -I https://gadm.tkmind.cn/healthz
curl -s https://gadm.tkmind.cn/healthz
curl -s -D - -o /dev/null https://gadm.tkmind.cn/admin-api/summary

故障排查顺序

如果 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_CONSOLESADMIN_API_ALLOWED_HOSTSOPS_API_ALLOWED_HOSTS 是否限制过严
  5. ops/ 是否还在用正确的 '/admin-api' 代理地址

相关文件