跳转到内容

多元版 · 部署指南文档

SaaS 多商户微服务:中间件与 Nacos 容器化,业务镜像发布,Nginx 终止 SSL 并反代网关。租户域名在 conf.d 增加 server,upstream 仍是网关。文中域名、IP、密码均为示例,上线前必须替换。

服务读取 Nacos application.yml + 服务名 yml。环境变量:

Terminal window
NACOS_HOST=...
NACOS_PORT=... # Compose 用 8848,K8s 常见 30030
NACOS_NAMESPACE=...
NACOS_PASSWORD=...

不要把文档示例 IP 写进生产。按需覆盖 MALL4CLOUD_PORTMALL4CLOUD_DUBBO_PORT

Terminal window
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

公网只开 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 不变。可用泛域名证书覆盖子域。

各仓 .env.production 指向 HTTPS 网关后构建。uni-app 发行 H5;platform / multishop / admin / PC 的 dist 分站点放入 html。小程序配置 HTTPS 合法域名。

  • 回调 URL 必须 HTTPS
  • Feign 密钥与白名单
  • Nacos 实例是否全部 UP
  • MQ 是否堆积
  • 发布后登录、商品查询、下单是否通