将内置 nginx 从 127.0.0.1:11223 改为直接绑定宿主机 0.0.0.0:80。 上层 nginx 直接 proxy_pass 到本机 IP:80 即可,省去宿主机 nginx 配置环节。 同步更新端口检查(80)、部署完成提示、runbook/configuration/README 文档。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3.2 KiB
3.2 KiB
私有化部署运行手册
一键部署
curl -fsSL https://xuqinmin.com/xuqmGroup/XuqmGroup-PrivateDeploy/raw/branch/main/install.sh \
-o install.sh && bash install.sh
交互式向导依次完成:
- 选择租户初始化方式(新建 / 迁移)
- 填写租户信息或迁移密钥
- 填写外部访问地址(宿主机 nginx 对外的地址,用于 SDK 配置)
- 自动完成容器启动、数据库初始化、全量验证
完成后按输出的端口表配置宿主机 nginx。
Nginx 配置
部署内置了一个 nginx 容器处理所有内部路由,直接绑定宿主机 0.0.0.0:80。宿主机无需任何 nginx 配置。
上层 nginx 直接 proxy_pass 指向本机 IP(端口 80)即可,例如:
location / {
proxy_pass http://192.168.x.x; # 填写部署服务器 IP
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 3600s;
}
如果有多层 nginx 代理,每一层都必须加上
proxy_http_version 1.1和Upgrade/Connection头,否则 IM WebSocket 握手会在中间某层断开。
内置 nginx 路由配置在 config/nginx/conf.d/xuqm.conf,使用 Docker 服务名路由到各容器,无需关心具体端口。
端口说明
| 宿主机端口 | 说明 |
|---|---|
| 80 | 内置 nginx 入口(上层 nginx 直接指向此端口) |
| 11224–11231 | 各业务容器(绑定 127.0.0.1,调试用) |
各业务容器端口仅用于直接调试,正常流量全部走 80。
租户迁移
迁移通过一键部署向导完成,选择「迁移租户」后:
- 前往公有化平台控制台 → 安全中心 → 私有化部署迁移 → 生成迁移密钥
- 将
pmk_开头的密钥粘贴进向导 - 脚本自动导出租户数据、导入私有库、写入 license 记录、重启服务
迁移为单租户操作,会清空现有 bootstrap 数据后写入迁移数据。
常用运维命令
# 查看所有容器状态
docker compose -f docker-compose.yml -f docker-compose.infra.yml ps
# 查看服务日志
docker compose -f docker-compose.yml -f docker-compose.infra.yml logs --tail 100 tenant-service
# 重新运行全量验证
bash scripts/verify.sh
# 停止所有服务(保留数据)
docker compose -f docker-compose.yml -f docker-compose.infra.yml down
# 启用可选服务
bash scripts/enable-service.sh im
# 禁用可选服务(不删数据)
bash scripts/disable-service.sh im
# 备份数据
bash scripts/backup.sh
# 恢复数据
bash scripts/restore.sh <backup-file>
数据目录
| 路径 | 说明 |
|---|---|
data/mysql/ |
MySQL 数据文件 |
data/redis/ |
Redis AOF 文件 |
data/uploads/ |
文件服务上传目录 |
data/update/ |
版本管理包存储 |
data/backups/ |
备份文件 |
logs/ |
审计日志 |
重新部署(幂等)
脚本幂等,可重复执行:
bash install.sh
已运行的容器不会被重建,数据目录不受影响。