银河版 · 部署指南文档
银河版部署指南
Section titled “银河版部署指南”覆盖 Linux 生产环境的服务器准备、Docker 容器化、Nginx 反向代理和 SSL。单商户版:Docker 拉起中间件与两个 Java 服务,Nginx 做分站点反代和 HTTPS。推荐全程 Docker。文中域名、IP、密码均为示例,上线前必须替换。
1. 生产环境组件
Section titled “1. 生产环境组件”| 组件 | 版本 |
|---|---|
| JDK(镜像内) | 17 |
| MySQL | 8.0 |
| Redis | 5.0+ |
| Elasticsearch | 7.x |
| XXL-JOB | 3.0.0 |
| Docker / Compose | 当前稳定版 |
先在开发机把后端打好包,再放到生产机。服务器需已安装 docker 与 docker compose。
2. 部署目录
Section titled “2. 部署目录”mall4j-shop├─ mysql/initdb、mysql/data、mysql/my.cnf├─ yami-shop-api # 用户端 jar├─ yami-shop-multishop # 管理端 jar├─ nginx/conf.d / html / ssl└─ docker-compose.yml
- SQL:
0schema.sql、1mall4j_b2c.sql、2area.sql、3xxl_job.sql→mysql/initdb(首次 Compose 自动导入)。 - jar:
mvn clean package -DskipTests后放入yami-shop-api-0.0.1-SNAPSHOT.jaryami-shop-multishop-0.0.1-SNAPSHOT.jar
- 前端 dist →
nginx/html/h5、html/pc、html/multishop(管理后台)。 - 证书 →
nginx/ssl。
Docker 优先读 Compose 环境变量:
environment: - MYSQL_HOST=mall4j-mysql - MYSQL_PORT=3306 - MYSQL_DATABASE=mall4j_b2c - MYSQL_USERNAME=root - MYSQL_PASSWORD=<生产密码> - REDIS_HOST=mall4j-redis - REDIS_PORT=6379 - REDIS_PASSWORD=<生产密码> - ELASTIC_ADDRESS=http://mall4j-elasticsearch:9200 - WUKONGIM_ADDRESS=http://mall4j-wukongim:5001非 Docker 改 application-prod.yml。mysql/data 禁止删除。
cd mall4j-shopdocker compose up -d --build
公网只开放 80/443。中间件端口不暴露。全局搜索模板密码 hn02le.34lkdLKD 并全部替换。
4. Nginx 与 SSL
Section titled “4. Nginx 与 SSL”| 配置 | 用途 |
|---|---|
b2c-api.conf |
用户端 API,反代 :8112 |
b2c-multishop.conf |
管理后台静态 + /apis → :8113 |
b2c-h5.conf |
H5,root html/h5,必须 HTTPS |
b2c-pc.conf |
PC 商城 |
b2c-im.conf / b2c-minio.conf / xxl-job.conf |
IM、对象存储、任务 |
80 跳 443,TLS 1.2/1.3。管理端示例:
server { listen 80; server_name b2c-multishop.mall4j.com; location / { return 301 https://$host$request_uri; }}server { listen 443 ssl http2; server_name b2c-multishop.mall4j.com; ssl_certificate ssl/your-cert.pem; ssl_certificate_key ssl/your-cert.key; ssl_protocols TLSv1.2 TLSv1.3;
location / { add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; proxy_pass http://mall4j-pro-vs; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /apis { rewrite ^/apis/(.*)$ /$1 break; proxy_pass http://mall4j-pro-multishop:8113; proxy_cookie_path / "/; httponly; secure; SameSite=Lax"; } location /apis/doc.html { return 404; }}H5/PC 使用 try_files $uri $uri/ /;。Docker 中 html 对应 ./nginx/html:/usr/share/nginx/html。
uni-app:Node ≥ 18.12,pnpm 改 .env.production 后发行 H5。PC/管理后台 build 后放入对应 html 目录。小程序配置 HTTPS 合法域名。
6. 裸 jar(不推荐)
Section titled “6. 裸 jar(不推荐)”java -jar -Xmx1024m -Dspring.profiles.active=prod yami-shop-api-0.0.1-SNAPSHOT.jar &java -jar -Xmx512m -Dspring.profiles.active=prod yami-shop-multishop-0.0.1-SNAPSHOT.jar &Nginx proxy_pass 改为内网 IP;XXL-JOB 单独部署。