白洞版 · 部署指南文档
白洞版部署指南
Section titled “白洞版部署指南”微服务生产部署:中间件容器化(或独立集群),业务服务按镜像发布,公网入口只走 Nginx + 网关 HTTPS。文中域名、IP、密码均为示例,上线前必须替换。
1. 组件与隔离
Section titled “1. 组件与隔离”| 组件 | 说明 |
|---|---|
| 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。用环境变量区分环境:
NACOS_HOST=...NACOS_PORT=...NACOS_NAMESPACE=...NACOS_PASSWORD=...不要把文档示例 IP 写进生产。按需覆盖 MALL4CLOUD_PORT、MALL4CLOUD_DUBBO_PORT。
2. 打包与镜像
Section titled “2. 打包与镜像”mvn clean package -DskipTestsmall4cloud-api、mall4cloud-common 不是可运行服务。业务模块各自构建镜像:先 java -Djarmode=layertools -jar application.jar extract,再以 JarLauncher 启动。
中间件(MySQL、Redis、ES、RocketMQ、MongoDB、XXL-JOB、Nacos)先于业务启动,完成初始化 SQL 与 ES 索引。
3. Docker / 发布顺序
Section titled “3. Docker / 发布顺序”- 中间件与 Nacos 就绪并完成库表、ES 索引初始化。
- 先发
gateway+auth+admin,确认登录与路由。 - 再分批发 product / order / payment / user / marketing / search 等。
- Nacos、MySQL、Redis、MQ 控制台禁止映射到公网。
4. Nginx 反向代理与 SSL
Section titled “4. Nginx 反向代理与 SSL”公网只开 80/443:
| 站点 | 行为 |
|---|---|
| 平台 / 商家 / H5 / PC / 门店 | 静态 root,history 用 try_files |
| API | 全部 proxy_pass 到 gateway,不要直连订单或商品服务 |
| 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,不必重建业务容器。屏蔽网关文档路径。
5. 前端产物
Section titled “5. 前端产物”各仓改 .env.production 指向 HTTPS 网关域名后构建。uni-app 发行 H5;platform / multishop / PC / station 的 dist 分站点放入 html。小程序配置 request 合法域名(必须 HTTPS)。H5 必须 HTTPS 才能定位。
6. 核对清单
Section titled “6. 核对清单”- 回调域名、网关前缀是否 HTTPS
- Feign 内网密钥与 IP 白名单
- XXL-Job 与 RocketMQ 消费是否堆积
- Nacos 实例是否全部 UP
- 发布后看网关登录、商品查询、下单是否通