
5分钟跑通JeecgBoot微服务Nacos服务注册与配置中心实操指南【免费下载链接】jeecg-boot【低代码v2.0一句话即可生成整个系统】企业级AI低代码平台一键生成前后端代码甚至整个系统。 AI Skills 一句话画流程、设计表单、生成报表、大屏。内置 AI应用平台涵盖AI聊天、知识库、流程编排、MCP插件等兼容主流大模型。引领AI低代码「Skills 生成 → 在线配置 → 代码生成 → 手工合并-AI修改」开发模式解决 Java 项目 90% 重复工作提高效率又不失灵活。项目地址: https://gitcode.com/GitHub_Trending/je/jeecg-boot本地起5个微服务端口冲突到怀疑人生把配置发给同事Nacos地址还是你的本机IPJeecgBoot用Nacos服务注册和统一配置中心把这两件事一次解决。本文带你用一条docker-compose命令拉起Nacos、网关、系统服务、Demo服务和前端再逐段拆解注册、配置、路由三条主链路的真实配置看完能直接动手。️ 全景速览30秒看懂Nacos服务注册、配置中心与网关路由JeecgBoot微服务只有四类角色jeecg-system系统服务7001和jeecg-demo演示服务7002各自启动后向Nacos注册自己的服务名并从Nacos拉取jeecg.yaml等公共配置所有外部请求统一打到网关9999网关按路由规则把/sys/**转发给jeecg-system、/bigscreen/**转发给jeecg-demo转发时通过Nacos拿到目标实例地址。也就是说Nacos管注册和配置网关管入口两个业务服务互不直连IP只认服务名。 动手实操一键部署全部微服务组件仓库根目录的docker-compose-cloud.yml已经编排好全部依赖克隆仓库后执行# 克隆仓库 git clone https://gitcode.com/GitHub_Trending/je/jeecg-boot cd jeecg-boot # 一键拉起 Nacos、网关、system、demo、MySQL、Redis、前端 docker-compose -f docker-compose-cloud.yml up -d启动后需要记住的端口组件端口/地址说明Nacos控制台http://localhost:8848/nacos默认账号 nacos/nacos网关http://localhost:9999所有业务请求的入口jeecg-system7001容器内端口经网关访问jeecg-demo7002容器内端口经网关访问MySQL13306:3306账号密码均为 root前端http://localhost:80jeecg-vue3经网关转发后端如果不想用Docker手动启动的顺序是先确保Nacos容器在跑8848再在jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start和jeecg-demo-cloud-start下分别执行mvn spring-boot:run最后启动jeecg-cloud-gateway。注意顺序system必须先注册成功网关再起原因后面讲。⚙️ 核心机制拆解Nacos服务注册 → 配置中心 → 网关路由注册每个服务只配四五个参数。jeecg-system的application.yml中最小可运行片段spring: application: name: jeecg-system # 服务名注册到Nacos的就是它 cloud: nacos: config: server-addr: config.server-addr # Maven占位符构建时替换 group: config.group namespace: config.namespace discovery: server-addr: ${spring.cloud.nacos.config.server-addr} config: import: - optional:nacos:jeecg.yaml # 共享配置 - optional:nacos:jeecg-dev.yaml # 环境配置profiledev配置两份dataId叠加。jeecg.yaml放全局参数压缩、Jackson、MyBatis-Plusjeecg-dev.yaml放环境相关参数数据源指向容器名jeecg-boot-mysql:3306、Redis指向jeecg-boot-redis都在jeecg-cloud-nacos/docs/DEFAULT_GROUP/目录有对应文件可查。optional:前缀意味着本地没有该配置也不报错。路由规则也是配置。网关的jeecg-gateway.yaml声明data-type: database、data-id: jeecg-gateway-router网关启动时从Nacos加载jeecg-gateway-router.json作为路由表核心就两条[ { id: jeecg-system, predicates: [{ name: Path, args: { _genkey_0: /sys/** } }], uri: lb://jeecg-system }, { id: jeecg-demo, predicates: [{ name: Path, args: { _genkey_0: /bigscreen/template2/** } }], uri: lb://jeecg-demo } ]lb://前缀表示走负载均衡网关按服务名去Nacos查实例列表。新增一个微服务时只需在Nacos加一条这样的路由网关侧代码不用动。 项目目录与关键文件速查jeecg-server-cloud/ ├── jeecg-cloud-nacos/ # Nacos启动模块 默认配置文件 │ └── docs/DEFAULT_GROUP/ # jeecg.yaml、jeecg-gateway-router.json等 ├── jeecg-cloud-gateway/ # 网关动态路由加载 Sentinel限流 ├── jeecg-system-cloud-start/ # 系统服务端口7001 ├── jeecg-demo-cloud-start/ # 演示服务端口7002 └── docker-compose.yml # 微服务一键部署关键文件docker-compose-cloud.yml全组件编排含网关等待system注册的启动脚本jeecg-system-cloud-start/src/main/resources/application.yml注册配置导入的标准写法jeecg-cloud-nacos/docs/DEFAULT_GROUP/jeecg.yamlNacos上的公共配置jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java网关动态路由加载入口改路由逻辑先看这里 生产环境避坑指南Nacos注册最常见的4个问题现象网关起来了但请求404、Swagger文档为空。原因网关先于jeecg-system启动从Nacos拿到的是空路由表。 解法compose里网关的启动脚本会每5秒轮询Nacos直到jeecg-system实例healthy才拉起网关手动部署时务必先起system再起网关或重启网关。现象jar包启动后加载不到Nacos配置或中文乱码。原因缺少编码参数Nacos配置文件读取异常README中明确标注。 解法启动命令加-Dfile.encodingutf-8如java -Dfile.encodingutf-8 -jar xxx.jar。现象服务注册成功但配置完全不生效。原因namespace或group与Nacos控制台里配置所在的不是同一个位置或profile没激活导致只拉了jeecg.yaml。 解法核对application.yml中server-addr/group/namespace三件套与Nacos控制台一致确认--spring.profiles.activedev生效其余以仓库实际配置为准。现象容器内连不上MySQL或Redis。原因配置里写了localhost而容器网络中本机是另一个容器。 解法compose网络里必须用容器名寻址即jeecg-boot-mysql:3306、jeecg-boot-redis:6379这正是jeecg-dev.yaml里的写法。 进阶Nacos集群部署与性能调优Nacos生产环境建议3节点集群挂掉任意1节点不影响注册和配置读取Nacos 3.x已移除v1/v2 open-api实例查询需用v3 admin接口compose轮询脚本就是按此写的限流规则同样挂在Nacos上SENTINEL_GROUP分组下的jeecg-gateway-flow-rules等dataId改规则不用重启网关配置变更实时推送到实例带optional:前缀的import项支持不重启叠加用namespace隔离dev/test/prod三套环境避免一套Nacos混跑多个环境服务间调用统一用服务名Feign声明式客户端实例扩缩容后无需改任何调用方配置到这里注册、配置、路由三条链路你已经能对着仓库逐行核对。把仓库clone下来先跑通第三节的docker-compose -f docker-compose-cloud.yml up -d登录http://localhost:8848/nacos看到jeecg-system的实例再去Nacos改一个配置项观察热更新剩下的就交给你动手了。【免费下载链接】jeecg-boot【低代码v2.0一句话即可生成整个系统】企业级AI低代码平台一键生成前后端代码甚至整个系统。 AI Skills 一句话画流程、设计表单、生成报表、大屏。内置 AI应用平台涵盖AI聊天、知识库、流程编排、MCP插件等兼容主流大模型。引领AI低代码「Skills 生成 → 在线配置 → 代码生成 → 手工合并-AI修改」开发模式解决 Java 项目 90% 重复工作提高效率又不失灵活。项目地址: https://gitcode.com/GitHub_Trending/je/jeecg-boot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考