ruoyi-cloud通过bootstrap.yml文件设置多环境配置

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

最近在学习ruoyi-cloud框架,发现在部署上线的时候要设置成多环境配置才能区分测试环境、正式环境,从而把代码提交到相应的分支,我是通过配置三个.yml文件来实现的:bootstrap.yml、bootstrap-dev.yml、bootstrap-prod.yml;通过提交不同的配置文件来实现发布不同环境的代码。

一、nacos配置

1.1 以下是导入的ruoyi-cloud的nacos配置

在这里插入图片描述

1.2 创建两个命名空间dev、prod

在这里插入图片描述

1.3 将public命名空间的内容克隆到dev和prod

注意:克隆到dev的内容不变,克隆到prod的内容要修改一下:把dev改成prod如图所示
在这里插入图片描述
在这里插入图片描述

1.4 最终样式

在这里插入图片描述

二、修改ruoyi-cloud工程(以system微服务举例)

2.1 新增两个文件,分别命名bootstrap-dev.yml、bootstrap-prod.yml

在这里插入图片描述
修改内容
bootstrap.yml的内容修改为:

spring:
  profiles:
    #开发环境
    active: dev
    #正式环境
#    active: prod

在这里插入图片描述

2.2 bootstrap-dev.yml的内容复制原bootstrap.yml里面的内容再做如下修改

在这里插入图片描述
最终代码如下:

# Tomcat
server:
  port: 9201

# Spring
spring:
  application:
    # 应用名称
    name: ruoyi-system
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 192.168.6.15:8848
        namespace: 798d3a99-ad9d-4c92-952a-08c366685f30
      #        username: nacos
#        password: nacos
      config:
        # 配置中心地址
        server-addr: 192.168.6.15:8848
#        username: nacos
#        password: nacos
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
        namespace: 798d3a99-ad9d-4c92-952a-08c366685f30

2.3 bootstrap-prod.yml的内容复制原bootstrap.yml里面的内容再做如下修改

在这里插入图片描述
最终代码如下:

# Tomcat
server:
  port: 9201

# Spring
spring: 
  application:
    # 应用名称
    name: ruoyi-system
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 192.168.6.15:8848
        namespace: 317f0385-6c56-4cf6-9493-35557a1e4397
      #        username: nacos
#        password: nacos
      config:
        # 配置中心地址
        server-addr: 192.168.6.15:8848
#        username: nacos
#        password: nacos
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
        namespace: 317f0385-6c56-4cf6-9493-35557a1e4397

三、验证效果

3.1 启动ruoyi-system验证

3.1.1 bootstrap.yml文件选择 dev

在这里插入图片描述

在这里插入图片描述
启动成功。

3.1.2 现在我们换成prod的配置启动,同时修改一下数据库信息(把mysql连接改成错误的,如果连不上则证明切换成功了)

3.1.2.1 切换为prod

在这里插入图片描述

3.2.1.2 启动ruoyi-system(本次不修改nacos里的mysql配置试试)

在这里插入图片描述
可以看到确实启动成功了。

3.2.1.3 现在修改nacos里的mysql配置再试试

在这里插入图片描述

3.2.1.4 启动ruoyi-system的prod配置

在这里插入图片描述
这次启动报错,提示找不到这个xyz的库。
以上,给ruoyi-cloud通过.yml文件配置多环境的验证完成了。
注意:如果在测试过程中连接nacos报错,但配置文件检查又没有问题,则将项目重新构建一遍基本上都能解决!

总结

通过这种配置可以实现,当你提交测试代码的时候就放开微服务bootstrap.yml里面的dev。让代码合并到测试的分支test,当你要提交正式代码的时候就放开微服务bootstrap.yml里面的prod,提交到正式分支master。这样就可以省去很大的麻烦来修改大量的配置,代码打包镜像的时候也不容易出错。这样其他的问题都可以在nacos那里修改了。
当然,配置多环境还有其他方法,大家也可以尝试其他的方法试试!

在使用 RuoYi-Cloud-Boot-2.x 配合 RuoYi-Cloud-Vue3 访问接口时,出现 500 错误并提示 `NOT_FOUND`,通常与服务注册与发现、网关路由配置或接口路径匹配等问题相关。以下是可能的原因及解决方案: ### 1. 服务未正确注册至注册中心 确保所有微服务(如系统模块、认证模块等)均已成功注册到 Nacos 或其他注册中心。若服务未注册或注册失败,网关将无法正确路由请求,导致访问接口时报 `NOT_FOUND` 错误。 - 检查 Nacos 控制台,确认相关服务是否出现在服务列表中。 - 查看服务启动日志,确认是否出现注册失败或心跳异常的错误信息。 ### 2. 网关路由配置错误 Spring Cloud Gateway 配合 RuoYi-Cloud-Boot 使用时,需确保路由规则正确配置,包括路径匹配规则、服务名称与注册中心一致等。 - 检查 `application.yml` 或 `bootstrap.yml` 中的路由配置,确保路径与后端服务的访问路径匹配。 - 示例配置如下: ```yaml spring: cloud: gateway: routes: - id: system-service uri: lb://ruoyi-system predicates: - Path=/api/system/** filters: - StripPrefix=1 ``` - 若使用了动态路由(如通过 Nacos 配置中心加载路由信息),需确认配置中心的路由数据是否正确。 ### 3. 接口路径与实际定义不一致 前端 Vue3 应用发起请求时,需确保接口路径与网关配置的路径一致。例如,若网关配置为 `/api/system/**`,则前端应通过 `/api/system/user/list` 等路径访问对应接口。 - 检查前端请求路径是否与后端路由规则匹配。 - 使用 Postman 或 curl 工具直接访问网关地址,验证接口是否可达。 ### 4. 负载均衡器配置问题 若使用 Spring Cloud LoadBalancer 作为负载均衡组件,需确保其与服务注册中心的集成配置正确。 - 确认项目中已引入 `spring-cloud-starter-loadbalancer` 依赖。 - 检查服务调用方是否正确使用了服务名称进行调用(如 `http://ruoyi-system/api/system/user/list`)[^1]。 ### 5. 服务间通信异常 在微服务架构中,网关可能将请求转发至其他服务,若目标服务未启动或接口未暴露,也可能导致 500 错误。 - 确保目标服务(如 `ruoyi-system`)正常运行,并可通过注册中心访问。 - 直接访问目标服务的接口,确认其是否返回预期结果。 ### 6. 日志排查与调试 查看网关及各微服务的日志,寻找异常堆栈信息,有助于定位具体问题。 - 网关日志中可能出现 `No instances available for service` 或 `Route not found` 等提示。 - 后端服务日志中可能出现 `404` 或 `500` 错误,表明请求未正确到达或处理失败。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值