01购买 VPS 与域名
部署前请准备一台可公网访问的 Linux 服务器,以及已解析到该服务器 IP 的域名(建议至少两个子域名:API 与前端)。
推荐配置
| 项目 | 建议 |
|---|---|
| 操作系统 | Ubuntu 22.04 / Debian 12 |
| CPU / 内存 | 2 核 / 4 GB 及以上 |
| 磁盘 | 40 GB SSD 及以上 |
| 带宽 | 按目标用户地区选择,建议 ≥ 5 Mbps |
域名规划示例
admin.example.com— DmgAdmin 运营后台与移动端 APIwww.example.com或app.example.com— 玩家端 H5(DmgAPP Web)
02登录面板后台
在 VPS 上安装宝塔面板(aaPanel / BT Panel)或您惯用的服务器管理面板,通过浏览器登录面板后台。
- 使用 SSH 或云厂商控制台登录 VPS。
- 按面板官方文档完成安装(首次安装会输出面板地址、用户名与密码)。
- 在浏览器打开面板地址并登录,确认可正常访问「文件」「Docker」「网站」等功能模块。
03安装 Docker 环境
推荐使用 Kejilion.sh 一键脚本安装 Docker 与 Docker Compose。在服务器终端执行:
bash <(curl -sL kejilion.sh) docker install
若使用宝塔面板,也可在面板中找到 Docker 或「应用商店 → Docker」,使用一键安装完成安装。
- 进入面板「软件商店」或「Docker」页面。
- 安装 Docker 引擎及 Compose 插件(V2)。
- 安装完成后,在终端或面板终端执行以下命令确认:
docker --version
docker compose version
docker 组,或始终通过面板提供的 root 终端执行部署命令。04部署后端服务(DmgAdmin)
本步骤部署 DmgAdmin 运营后台(含移动端 REST API)。将下方 docker-compose.yaml 与 appsettings.json 保存到服务器目录(如 /www/dmg/DmgAdmin/),按说明修改配置后执行 docker compose up -d 即可启动。另需在同目录创建空的 appsettings.Production.json(内容可为 {}),供 compose 挂载。
mkdir -p /www/dmg/DmgAdmin
cd /www/dmg/DmgAdmin
mkdir -p Logs keys wwwroot/uploads wwwroot/avatars wwwroot/game
nano docker-compose.yaml # 全选复制下方内容,粘贴后 Ctrl+O 保存、Ctrl+X 退出
nano appsettings.json # 同上,粘贴下方 appsettings.json
echo '{}' > appsettings.Production.json
也可在宝塔面板「文件」中新建同名文件并粘贴内容;vi / vim 用户将 nano 替换为对应编辑器即可。
修改 appsettings.json
保存配置文件后,务必根据实际环境修改以下字段:
| 配置项 | 说明 | 示例 |
|---|---|---|
DmgApi:BaseUrl | 上游 DmgAPI 游戏接口地址 | https://api.example.com |
DmgApi:Account | DmgAPI 分配的商户账号 | 由 DMG 提供 |
DmgApi:ApiKey | DmgAPI 分配的 API 密钥 | 由 DMG 提供 |
APIDomain | 本后台对外访问域名(移动端 API 回调等) | https://admin.example.com |
AllowedOrigins | 允许跨域的前端域名列表 | 玩家 H5 / APP WebView 域名 |
Payment:UsdtAddress | USDT 收款地址 | 按运营需求填写 |
TelegramBot:* | Telegram 机器人通知(生产环境启用) | Bot Token、名称、通知 Chat ID |
ConnectionStrings:Default 中的 Password=CHANGE_ME 必须与 compose 里 MYSQL_ROOT_PASSWORD 一致;Server=mysql 为 compose 内 MySQL 服务名。MySQL 8 在非 SSL 连接下需保留 AllowPublicKeyRetrieval=true,否则会出现 RSA public key 相关认证错误。05部署前端应用
将下方 docker-compose.yaml 保存至独立目录(建议 /www/dmg/DmgAPP),与后端分开管理。保存后执行 docker compose pull 与 docker compose up -d 即可启动。
mkdir -p /www/dmg/DmgAPP
cd /www/dmg/DmgAPP
nano docker-compose.yaml # 全选复制下方内容,粘贴后 Ctrl+O 保存、Ctrl+X 退出
也可在宝塔面板「文件」中新建同名文件并粘贴内容;vi / vim 用户将 nano 替换为对应编辑器即可。
06启动与验证
配置保存完成后,在后端与前端目录拉取镜像并启动;首次启动后端会自动创建 MySQL 数据卷,健康检查通过后再启动 DmgAdmin。
cd /www/dmg/DmgAdmin && docker compose pull && docker compose up -d
cd /www/dmg/DmgAPP && docker compose pull && docker compose up -d
docker ps
curl -I http://127.0.0.1:8015/admin
curl -I http://127.0.0.1:8085
临时访问:后台 http://服务器IP:8015/admin,前端 H5 http://服务器IP:8085(正式上线前请绑定域名并启用 HTTPS)。
07配置站点信息
后端首次启动后,登录 DmgAdmin 运营后台,在系统设置中完善站点信息,确保前端与对外链接正确。
- 访问后台登录页(如
https://admin.example.com/admin),使用开通的管理员账号登录。 - 进入 系统管理 → 站点设置(或同级菜单)。
- 按需填写以下信息:
- 站点名称、LOGO、页脚文案等品牌信息
- 对外访问域名 / 站点 URL(与即将绑定的域名一致)
- 注册页、找回密码等链接路径
- 客服、Telegram 等联系方式(如有)
确认 appsettings.json 中 APIDomain 与 AllowedOrigins 已与实际上线域名一致;修改后需重启容器:docker compose restart dmgadmin。
DetailedErrors 设为 false,并妥善保管 MySQL 与 API 密钥。08绑定域名与 HTTPS
在面板「网站」中为 API 与前端分别添加站点,通过反向代理转发到本机 Docker 端口,并申请 SSL 证书。
API / 后台域名(示例 admin.example.com)
- 反向代理目标:
http://127.0.0.1:8015 - 开启 HTTPS(Let's Encrypt 或上传证书)
- 必须开启 WebSocket 转发(Blazor Server / SignalR 依赖
/_blazor长连接)
Nginx 反向代理关键配置示例:
location / {
proxy_pass http://127.0.0.1:8015;
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-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 3600s;
}
前端 H5 域名(示例 www.example.com)
- 反向代理目标:
http://127.0.0.1:8085 - 开启 HTTPS,强制 HTTP 跳转 HTTPS
上线检查清单
- API 域名可访问,后台可正常登录且无 WebSocket 断连
- 前端 H5 可打开并正常调用 API
- 站点设置中的域名与实际上线域名一致
- 云安全组已放行 80 / 443
部署过程中如需协助,或需要获取最新部署包与镜像版本,欢迎联系我们。
Telegram 技术支持