先跑“登录 + 权限 + 一个后台端”链路,不要一开始全量启动所有业务。
至少需要:
- MySQL
- Redis
- Nacos
- MinIO
如果要验证商品搜索、订单搜索或商品发布后的索引同步,再启动 Elasticsearch、RocketMQ、Canal。
| 服务 | 端口 |
|---|---|
mall4cloud-gateway |
8000 |
mall4cloud-leaf |
9100 |
mall4cloud-auth |
9101 |
mall4cloud-rbac |
9102 |
mall4cloud-multishop |
9103 |
mall4cloud-product |
9104 |
mall4cloud-user |
9105 |
mall4cloud-order |
9106 |
mall4cloud-search |
9108 |
mall4cloud-platform |
9112 |
mall4cloud-payment |
9113 |
mall4cloud-biz |
9000 |
这些端口来自各服务 bootstrap.yml 和网关 application.yml。
启动:
mall4cloud-gatewaymall4cloud-authmall4cloud-rbacmall4cloud-platformmall4cloud-biz
如果页面需要商品、店铺或订单数据,再启动对应服务。
启动:
mall4cloud-gatewaymall4cloud-authmall4cloud-rbacmall4cloud-multishopmall4cloud-biz
商品管理页面还会需要 mall4cloud-product。
各服务默认从环境变量读取 Nacos:
NACOS_HOST,默认 192.168.1.46
NACOS_PORT,默认 8848
本地开发时,如果 Nacos 不在 192.168.1.46,请设置环境变量或修改启动配置。还要注意:当前服务 bootstrap 中 Nacos 用户名/密码默认写的是 nacos/nacos;如果使用本仓库 Compose 初始化 SQL,Nacos 用户表写入的是 nacos / 80jpnH4.r5g,两边必须统一。
一次在 IDEA 中启动多个微服务会比较吃内存。当前项目使用 JDK 17,如果本机内存紧张,优先只启动最小链路服务,并给单个服务配置类似 -Xms512m -Xmx512m -Xss256k 的启动参数。
不要无脑全仓替换 192.168.1.46。更稳妥的做法是重点核对 bootstrap、Nacos 配置、Compose、Canal、Seata、RocketMQ 和前端 .env.* 中的示例地址。
- 网关日志显示服务启动在
8000。 - 服务能注册到 Nacos。
- 访问
http://<网关IP>:8000/mall4cloud_rbac/menu/route时,如果未登录返回未授权,说明路由到了后端。 - 登录成功后,前端能获取菜单。
问题:前端请求应该直连 mall4cloud-rbac:9102 吗?
答案:不应该,管理后台应请求网关 8000。
为什么:Nacos 中 mall4cloud-gateway.yml 配置了 /mall4cloud_rbac/** 等路由,前端只需要配置网关地址。