161 lines
8.2 KiB
Plaintext
161 lines
8.2 KiB
Plaintext
================================================================================
|
|
阿里云多服务 Docker 部署方案 - 2026年5月14日
|
|
================================================================================
|
|
|
|
一、服务器信息
|
|
--------------------------------------------------------------------------------
|
|
公网 IP: 8.136.137.59
|
|
域名: dxz99wyr.cn
|
|
系统: Ubuntu 5.15.0-174-generic
|
|
SSH密钥: D:\003_Project\小程序连接.pem
|
|
项目路径: /opt/ALiYunManager
|
|
|
|
二、架构设计
|
|
--------------------------------------------------------------------------------
|
|
阿里云服务器 (8.136.137.59)
|
|
│
|
|
beian-nginx (:80) ← 现有,已在运行
|
|
│
|
|
├── api-miniapp.dxz99wyr.cn → main-nginx (:8080)
|
|
│ │
|
|
│ 主 Nginx (Docker)
|
|
│ ┌──────────┬──────────┬──────────┐
|
|
│ │ │ │ │
|
|
│ resume. miniapp. api-resume. api-miniapp.
|
|
│ dxz99wyr. dxz99wyr. dxz99wyr.cn dxz99wyr.cn
|
|
│ cn cn │ │
|
|
│ (占位) host.docker.
|
|
│ internal:3000
|
|
│ │
|
|
│ quanyixiaozhushou-app
|
|
│ (小程序后端, 3000端口)
|
|
│
|
|
└── /quanyi → 静态页面 (原有服务)
|
|
|
|
三、子域名规划
|
|
--------------------------------------------------------------------------------
|
|
域名 用途 当前状态
|
|
─────────────────────────────────────────────────────────
|
|
resume.dxz99wyr.cn 个人简历网站 占位页面已部署
|
|
miniapp.dxz99wyr.cn 小程序网站 占位页面已部署
|
|
api-resume.dxz99wyr.cn 个人简历后台 占位页面已部署
|
|
api-miniapp.dxz99wyr.cn 小程序后台 已接入真实后端 (3000)
|
|
|
|
DNS 解析: 以上4个子域名 A 记录均指向 8.136.137.59
|
|
|
|
四、Docker 容器
|
|
--------------------------------------------------------------------------------
|
|
容器名 端口映射 说明
|
|
─────────────────────────────────────────────────────────
|
|
beian-nginx 80:80, 443:443 现有,80入口
|
|
quanyixiaozhushou-app 3000:3000 小程序后端
|
|
quanyixiaozhushou-mongo 27018:27017 MongoDB
|
|
main-nginx 8080:80, 8443:443 主 Nginx (新)
|
|
resume-web 80 (内部) 简历网站占位
|
|
miniapp-web 80 (内部) 小程序网站占位
|
|
resume-api 80 (内部) 简历后台占位
|
|
miniapp-api 80 (内部) 小程序后台占位
|
|
|
|
Docker 网络: aliyun-app-network (bridge)
|
|
beian-nginx 在 beian-docker_default 网络
|
|
|
|
五、访问链路
|
|
--------------------------------------------------------------------------------
|
|
小程序后端:
|
|
用户 → api-miniapp.dxz99wyr.cn (DNS)
|
|
→ beian-nginx (:80)
|
|
→ main-nginx (:8080)
|
|
→ host.docker.internal:3000 (本地回环)
|
|
→ quanyixiaozhushou-app (:3000)
|
|
|
|
简历网站:
|
|
用户 → resume.dxz99wyr.cn → beian-nginx (:80) → main-nginx (:8080) → resume-web (:80)
|
|
|
|
简历后台:
|
|
用户 → api-resume.dxz99wyr.cn → beian-nginx (:80) → main-nginx (:8080) → resume-api (:80)
|
|
|
|
⚠ 注:beian-nginx 目前只配了 api-miniapp 的中转,
|
|
其他三个子域名还未配置中转,后续需要补充。
|
|
|
|
六、配置文件位置
|
|
--------------------------------------------------------------------------------
|
|
项目目录: /opt/ALiYunManager/
|
|
├── docker-compose.yml 完整部署配置
|
|
├── docker-compose.main-nginx-only.yml 仅主 Nginx
|
|
├── docker-compose.override.yml 开发覆盖
|
|
├── .env / .env.example 环境变量 (端口8080)
|
|
├── nginx/
|
|
│ ├── nginx.conf 主 Nginx 核心配置
|
|
│ └── conf.d/
|
|
│ ├── resume-web.conf 简历网站反向代理
|
|
│ ├── miniapp-web.conf 小程序网站反向代理
|
|
│ ├── resume-api.conf 简历后台反向代理
|
|
│ ├── miniapp-api.conf 小程序后台反向代理 (→3000)
|
|
│ ├── ssl-template.conf HTTPS 模板
|
|
│ └── port-based-example.conf 端口模式示例
|
|
└── services/
|
|
├── resume-web/ (前端占位)
|
|
├── miniapp-web/ (前端占位)
|
|
├── resume-api/ (后端占位)
|
|
└── miniapp-api/ (后端占位)
|
|
|
|
beian-nginx 配置: /opt/beian-docker/nginx.conf
|
|
beian-nginx 备份: /opt/beian-docker/nginx.conf.bak
|
|
|
|
七、beian-nginx 中转配置要点
|
|
--------------------------------------------------------------------------------
|
|
- 添加了 server 块监听 api-miniapp.dxz99wyr.cn
|
|
- 反向代理到 172.19.0.1:8080 (Docker 网关 = 宿主机)
|
|
- 保留原有的 default_server 和 /quanyi 路径
|
|
- master nginx 模板路径: /opt/beian-docker/nginx.conf → /etc/nginx/conf.d/default.conf
|
|
|
|
八、端口说明
|
|
--------------------------------------------------------------------------------
|
|
端口 开放给外网 用途
|
|
─────────────────────────────────────
|
|
22 是 SSH
|
|
80 是 HTTP 入口 (beian-nginx)
|
|
443 是 HTTPS 入口 (beian-nginx)
|
|
3000 否 (已关闭) 小程序后端 (仅本地回环访问)
|
|
8080 否 主 Nginx (内部)
|
|
8443 否 主 Nginx HTTPS (内部)
|
|
|
|
九、常用命令
|
|
--------------------------------------------------------------------------------
|
|
# 部署/管理
|
|
docker compose up -d 启动所有服务
|
|
docker compose down 停止所有服务
|
|
docker compose restart nginx 重启主 Nginx
|
|
docker compose exec nginx nginx -s reload 重载配置 (不重启)
|
|
docker compose ps 查看服务状态
|
|
docker compose logs -f nginx 查看日志
|
|
|
|
# beian-nginx
|
|
docker exec beian-nginx nginx -t 测试配置
|
|
docker exec beian-nginx nginx -s reload 重载配置
|
|
|
|
# 单个服务更新
|
|
./scripts/update-service.sh resume-web
|
|
|
|
十、后续需要完成的工作
|
|
--------------------------------------------------------------------------------
|
|
1. [ ] beian-nginx 补充剩下 3 个子域名的中转配置
|
|
(resume, miniapp, api-resume)
|
|
2. [ ] 各服务替换占位页面为真实代码
|
|
3. [ ] 配置 HTTPS (Certbot + SSL证书)
|
|
4. [ ] 申请 SSL 证书覆盖 4 个子域名
|
|
5. [ ] 配置日志轮转 (logrotate)
|
|
6. [ ] 阿里云 DNS: 确认 4 个子域名 A 记录都已添加
|
|
|
|
十一、重要提醒
|
|
--------------------------------------------------------------------------------
|
|
- 主 Nginx (main-nginx) 当前在 8080 端口,不对外网开放
|
|
- 3000 端口已关闭外网访问,只走本地回环,更安全
|
|
- 各服务容器内部始终用 80 端口,添加新服务不需要改端口
|
|
- beian-nginx 配置修改前记得备份 (已有 .bak)
|
|
- 所有脚本已添加执行权限
|
|
|
|
================================================================================
|
|
记录时间: 2026-05-14 21:35
|
|
================================================================================
|