VortMall 本地体验部署指南

VortMall 本地体验部署指南

文档说明

适用场景:本地体验、功能验收、演示展示。使用开发者模式运行(IDEA 启动后端 + VS Code 启动前端),快速看到系统效果。

不适用于:正式生产环境。生产部署请参阅入门版/标准版/企业版部署指南。

最低配置:1 台机器,8C 32G 内存,200G SSD 磁盘。

约定<尖括号> 表示需替换为实际值的占位符。


前置条件

工具版本要求用途
Docker24.0+运行中间件
Docker Composev2.20+中间件编排
JDK21+后端编译运行
Maven3.9+后端构建
Node.js18+前端开发
IntelliJ IDEA最新版后端开发
VS Code最新版前端开发

Docker 安装(如未安装):

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl start docker && systemctl enable docker
docker --version && docker compose version

步骤 1:启动中间件

将项目 deployment/DockerCompose/ 目录上传到服务器(或在本机执行),运行一键启动脚本:

cd deployment/DockerCompose
bash start-core.sh

脚本会提示输入服务器 IP 地址(本机部署填本机内网 IP),然后依次启动 MySQL、Redis、Nacos 及其他中间件。

验证(等待约 2 分钟后逐项检查):

服务验证方式预期结果
MySQLdocker exec mysql-8 mysqladmin ping -uroot -pvortmall666mysqld is alive
Redisdocker exec redis redis-cli pingPONG
Nacos浏览器打开 http://<IP>:8848/nacos(账号 nacos/nacos能登录控制台
RocketMQ浏览器打开 http://<IP>:8080Dashboard 页面正常
XXL-Job浏览器打开 http://<IP>:8082/xxl-job-admin(账号 admin/123456能登录
MinIO浏览器打开 http://<IP>:9001(账号 vortmall/vortmall666能登录控制台

全部验证通过后再进入下一步。如果某项失败,执行 docker compose ps 检查对应容器状态。


步骤 2:初始化数据库

docker exec -i mysql-8 mysql -uroot -pvortmall666 < db/version/mysql/demo.sql

体验环境推荐导入 demo.sql(含演示数据),正式环境使用 pure.sql(空库)。

验证(应有 15 个 vortmall_* 数据库):

docker exec mysql-8 mysql -uroot -pvortmall666 -e "
  SELECT TABLE_SCHEMA, COUNT(*) AS '表数量'
  FROM information_schema.TABLES
  WHERE TABLE_SCHEMA LIKE 'vortmall_%'
  GROUP BY TABLE_SCHEMA;
"

步骤 3:配置 Nacos

  1. 浏览器打开 http://<IP>:8848/nacos,用 nacos/nacos 登录
  2. 左侧菜单 → 命名空间 → 新建命名空间:
    • 命名空间 ID:public
    • 命名空间名:VortMall
  3. 切换到 public 命名空间 → 配置管理 → 配置列表 → 创建配置:
    • Data ID:datasource-multiple.yml
    • Group:DEFAULT_GROUP
    • 格式:YAML
    • 内容:
spring:
  datasource:
    dynamic:
      primary: master
      strict: true
      datasource:
        master:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://<中间件IP>:3306/${vortmall.datasource.db-name}?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&useSSL=false
          username: root
          password: vortmall666

${vortmall.datasource.db-name} 是变量,每个服务会自动填入自己的库名,不需要替换。只需把 <中间件IP> 替换为实际 IP。

验证:在配置列表中能看到刚创建的 datasource-multiple.yml


步骤 4:IDEA 启动后端

  1. 用 IntelliJ IDEA 打开项目根目录
  2. 编辑 vortmall-common/vortmall-common-nacos/src/main/resources/env.yml,将 vortmall.host 改为中间件 IP:
vortmall:
  host: <中间件IP>
  1. 等待 Maven 索引完成
  2. 按以下顺序启动服务(右键 → Run):
启动顺序模块启动类
1vortmall-gatewayGatewayApplication
2vortmall-authAuthApplication
3~17vortmall-biz-* (15 个业务服务)各自的 Application 类

先启动 gateway 和 auth,其他 biz 服务启动顺序不限。每个服务启动约 15~30 秒。

验证:登录 Nacos 控制台 → 服务管理 → 服务列表 → 选择 public 命名空间,已注册服务数 ≥ 17。


步骤 5:启动前端

前端共三个项目,分别用 VS Code 打开并启动:

管理后台(Vue 3)

cd <Vort-Admin项目目录>
npm install
npm run dev

启动后访问:http://localhost:3100(默认端口以项目配置为准)

PC 商城(Nuxt 3)

cd <Vortmall-Pc项目目录>
npm install
npm run dev

启动后访问:http://localhost:3000

H5 移动端(UniApp)

cd <vortmall-uniapp项目目录>
npm install
npm run dev:h5

启动后访问:http://localhost:5173(默认端口以项目配置为准)

前端项目首次启动需要安装依赖(npm install),后续启动只需 npm run dev


步骤 6:验证

检查项方式预期
管理后台浏览器打开管理后台地址显示登录页
PC 商城浏览器打开 PC 商城地址页面正常渲染
API 健康检查curl http://localhost:8000/actuator/health{"status":"UP"}
Nacos 服务数Nacos 控制台 → 服务列表≥ 17 个已注册
XXL-Job 执行器XXL-Job 控制台 → 执行器管理包含已注册的执行器

常见问题

服务启动失败:连不上中间件

日志出现 Connection refusedNacos connected failed

  • 检查 env.ymlvortmall.host 是否为中间件的正确 IP
  • 检查中间件是否已全部启动:docker compose ps
  • 检查防火墙是否放通了中间件端口(8848、3306、6379、9876 等)

Nacos 服务列表为空

  • 确认命名空间 ID 为 public(不是名称 VortMall
  • 确认 env.yml 中的 Nacos 地址正确
  • 确认 datasource-multiple.yml 已在 public 命名空间创建

前端页面报跨域错误

  • 确认 Gateway 服务已正常启动
  • 检查前端配置文件中的 API 代理地址是否指向正确的 Gateway 地址

数据库初始化失败

  • 确认 MySQL 容器状态为 healthydocker inspect mysql-8 --format='{{.State.Health.Status}}'
  • SQL 文件路径需要从项目根目录计算,确认路径正确

附录 A:中间件端口速查

服务端口说明
MySQL3306数据库
Redis6379缓存
Nacos8848, 9848配置中心 + 服务发现
RocketMQ NameServer9876MQ 名称服务
RocketMQ Broker10909, 10911, 10912MQ Broker
RocketMQ Dashboard8080MQ 管理界面
XXL-Job Admin8082任务调度
Seata7091, 8091分布式事务
MinIO9000 (API), 9001 (Console)对象存储
EMQX1883 (MQTT), 18083 (Dashboard)消息
ES9200, 9300搜索引擎

附录 B:后端服务端口

服务端口说明
vortmall-gateway8000API 网关
vortmall-auth8001认证授权
vortmall-biz-product19901商品、分类、品牌
vortmall-biz-payment19902支付、退款
vortmall-biz-system19903系统配置、权限
vortmall-biz-marketing19904营销、优惠券
vortmall-biz-order19905订单、购物车
vortmall-biz-content19906文章、公告
vortmall-biz-organize19907组织架构、店铺
vortmall-biz-logistics19908物流、运费模板
vortmall-biz-aftersales19909售后、退货
vortmall-biz-distribution19910分销
vortmall-biz-decoration19911页面装修
vortmall-biz-message19912消息、通知
vortmall-biz-user19913用户、会员
vortmall-biz-file19914文件上传
vortmall-biz-pos19915收银台、门店
VortMall 本地体验部署指南
请输入搜索内容
大纲
VortMall 本地体验部署指南
文档说明
前置条件
步骤 1:启动中间件
步骤 2:初始化数据库
步骤 3:配置 Nacos
步骤 4:IDEA 启动后端
步骤 5:启动前端
管理后台(Vue 3)
PC 商城(Nuxt 3)
H5 移动端(UniApp)
步骤 6:验证
常见问题
服务启动失败:连不上中间件
Nacos 服务列表为空
前端页面报跨域错误
数据库初始化失败
附录 A:中间件端口速查
附录 B:后端服务端口