多元版 · 部署指南文档
多元版部署指南
Section titled “多元版部署指南”SaaS 多商户微服务:中间件与 Nacos 容器化,业务镜像发布,Nginx 终止 SSL 并反代网关。租户域名在 conf.d 增加 server,upstream 仍是网关。文中域名、IP、密码均为示例,上线前必须替换。
1. 配置中心
Section titled “1. 配置中心”服务读取 Nacos application.yml + 服务名 yml。环境变量:
NACOS_HOST=...NACOS_PORT=... # Compose 用 8848,K8s 常见 30030NACOS_NAMESPACE=...NACOS_PASSWORD=...不要把文档示例 IP 写进生产。按需覆盖 MALL4CLOUD_PORT、MALL4CLOUD_DUBBO_PORT。
2. 打包与 Docker
Section titled “2. 打包与 Docker”mvn clean package -DskipTests业务模块按 Spring Boot layertools 分层构建 Java 17 镜像。api / common 不单独跑。
中间件(MySQL、Redis、ES、RocketMQ、MongoDB、XXL-JOB、Nacos)先于业务启动。初始化顺序:mall4cloud_job.sql / mall4cloud_nacos.sql / mall4cloud_seata.sql,再导入各业务库与 ES 索引。
发布顺序:gateway → auth → admin → 订单 / 支付 / 商品。Nacos、MySQL、Redis、MQ 控制台禁止映射到公网。上线前全局替换模板密码 hn02le.34lkdLKD。
3. Nginx 与 SSL
Section titled “3. Nginx 与 SSL”公网只开 80/443:
| 流量 | 处理 |
|---|---|
| 平台 / 商家 / 超管 / H5 / PC | 分域名静态站点,HTTPS |
| API | 全部反代 gateway |
| 证书 | nginx/ssl 或泛域名证书 |
| IM WebSocket | 单独 location,Upgrade |
server { listen 80; server_name saas-h5.example.com; location / { return 301 https://$host$request_uri; }}server { listen 443 ssl http2; server_name saas-api.example.com; ssl_certificate /ssl/your.pem; ssl_certificate_key /ssl/your.key; ssl_protocols TLSv1.2 TLSv1.3;
location / { proxy_pass http://mall4cloud-gateway; 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_set_header X-Forwarded-Proto $scheme; }}H5 / PC / 后台静态站:root + try_files $uri $uri/ /;。证书更新后 nginx -s reload,不必重建业务容器。屏蔽文档路径。
租户自定义域名只需增加 server_name,upstream 不变。可用泛域名证书覆盖子域。
4. 前端产物
Section titled “4. 前端产物”各仓 .env.production 指向 HTTPS 网关后构建。uni-app 发行 H5;platform / multishop / admin / PC 的 dist 分站点放入 html。小程序配置 HTTPS 合法域名。
5. 核对清单
Section titled “5. 核对清单”- 回调 URL 必须 HTTPS
- Feign 密钥与白名单
- Nacos 实例是否全部 UP
- MQ 是否堆积
- 发布后登录、商品查询、下单是否通