Files

公网测试部署说明(jxd.jinniu.ink)

已过时,仅留档备查(2026-09-23)。 当前 154.37.220.158 已由系统 Nginx 统一承接 80/443,jxd-edge 已移除。本页下方 edge 启停、证书和回滚步骤不能直接用于现网;先读 最新交接,核对现网配置与未合入 main 的部署变更,再制订新操作方案。

施工员本卡不执行本节命令、不 SSH 改测试机。由总工审核通过后再部署。

目标机:已解析到 jxd.jinniu.ink 的香港测试服务器。数据目录仍是仓库下的 components/ 与 data/,回滚不删数据。

对外暴露与对内绑定

入口 协议 后端 说明
https://jxd.jinniu.ink/ HTTPS OpenIM API :10002 客户端 apiAddr
wss://jxd.jinniu.ink/msg_gateway WSS OpenIM 网关 :10001 客户端 wsAddr
https://jxd.jinniu.ink/account/ HTTPS 账号服务 :10010 客户端 authApiBase
https://jxd.jinniu.ink/files/ HTTPS MinIO :10005 MINIO_EXTERNAL_ADDRESS
wss://jxd.jinniu.ink/livekit/ WSS LiveKit 信令 :17880 客户端 livekitUrl
:17881/tcp :17882/udp 媒体 LiveKit RTC 必须对公网开放,不能只走 443

内部端口(10001/10002/10005/10010/17880/etcd)在 overlay 里绑 127.0.0.1。防火墙建议只放行 80/tcp、443/tcp、17881/tcp、17882/udp。

证书

  1. 先把 deploy/public/nginx.bootstrap.conf 挂到 edge(只听 80)。
  2. certbot certonly --webroot -w deploy/public/acme -d jxd.jinniu.ink
  3. 确认 /etc/letsencrypt/live/jxd.jinniu.ink/ 有 fullchain.pem 与 privkey.pem。
  4. 改回 nginx.conf 后重载 edge。

私钥不得复制进 Git。

极光 Master Secret

文件在测试机 /root/.config/jinxunda/jpush_master_secret(权限 600)。部署前:

source ./scripts/load-jpush-secret.sh   # 只导出环境变量,不打印内容

不要 cat 该文件,不要写进 .env 或 compose 明文。

启动(总工)

cd /path/to/tongxunruanjian
cp .env.example .env          # 若还没有
# 按 deploy/public/.env.public.example 写入 SERVER_IP、MINIO_EXTERNAL_ADDRESS、JPUSH_*(不含 Master Secret)
source ./scripts/load-jpush-secret.sh
./scripts/deploy-public.sh

SERVER_IP 填本机公网 IP(LiveKit 媒体候选),不要写进手机/电脑客户端代码。

回滚

./scripts/rollback-public.sh

效果:停掉 nginx edge,按原来的 docker-compose.yaml 拉起;components/ 与 data/account 不动。

客户端地址(已写进代码默认值)

  • 手机:mobile/lib/config.dart,默认 jxd.jinniu.ink + TLS。内网回切:--dart-define=SERVER_HOST=192.168.200.11 --dart-define=USE_TLS=false
  • 电脑:改 pc-client/.env 的 VITE_* 为 https:// / wss:// 路径,见该目录 .env.example

华为通道缺口

见 mobile/android/app/README-agconnect.md。缺 agconnect-services.json 时华为真机厂商通道不通,其余施工已完成。