跳转到内容

白洞版 · 部署指南文档

微服务生产部署:中间件容器化(或独立集群),业务服务按镜像发布,公网入口只走 Nginx + 网关 HTTPS。文中域名、IP、密码均为示例,上线前必须替换。

组件 说明
JDK 17 镜像内,Dockerfile 使用 Spring Boot layertools
MySQL / Redis / ES / RocketMQ / MongoDB / XXL-JOB 先于业务服务启动
Nacos 配置与发现。Compose 直连常见 8848,K8s NodePort 常见 30030
Docker / Compose 或 K8s 当前稳定版

每个服务加载 Nacos 中的 application.yml + ${spring.application.name}.yml。用环境变量区分环境:

Terminal window
NACOS_HOST=...
NACOS_PORT=...
NACOS_NAMESPACE=...
NACOS_PASSWORD=...

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

Terminal window
mvn clean package -DskipTests

mall4cloud-apimall4cloud-common 不是可运行服务。业务模块各自构建镜像:先 java -Djarmode=layertools -jar application.jar extract,再以 JarLauncher 启动。

中间件(MySQL、Redis、ES、RocketMQ、MongoDB、XXL-JOB、Nacos)先于业务启动,完成初始化 SQL 与 ES 索引。

  • 中间件与 Nacos 就绪并完成库表、ES 索引初始化。
  • 先发 gateway + auth + admin,确认登录与路由。
  • 再分批发 product / order / payment / user / marketing / search 等。
  • Nacos、MySQL、Redis、MQ 控制台禁止映射到公网。

公网只开 80/443:

站点 行为
平台 / 商家 / H5 / PC / 门店 静态 root,history 用 try_files
API 全部 proxy_passgateway,不要直连订单或商品服务
IM WebSocket 单独 location,开启 Upgrade
server {
listen 80;
server_name your-h5.example.com;
location / { return 301 https://$host$request_uri; }
}
server {
listen 443 ssl http2;
server_name your-gateway.example.com;
ssl_certificate /ssl/your.pem;
ssl_certificate_key /ssl/your.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
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 站点示例:

location / {
root /usr/share/nginx/html/h5;
try_files $uri $uri/ /;
}

证书放 Nginx ssl 目录或 K8s Secret。更新后 nginx -s reload,不必重建业务容器。屏蔽网关文档路径。

各仓改 .env.production 指向 HTTPS 网关域名后构建。uni-app 发行 H5;platform / multishop / PC / station 的 dist 分站点放入 html。小程序配置 request 合法域名(必须 HTTPS)。H5 必须 HTTPS 才能定位。

  • 回调域名、网关前缀是否 HTTPS
  • Feign 内网密钥与 IP 白名单
  • XXL-Job 与 RocketMQ 消费是否堆积
  • Nacos 实例是否全部 UP
  • 发布后看网关登录、商品查询、下单是否通