跳至主要內容

将配置文件导入Nacos

大约 6 分钟快速启动快速启动将配置文件导入Nacos

将配置文件导入Nacos

  1. 登录nacos控制台,http://localhost:8848/nacos/open in new window,访问 命名空间 页面,点击表格右上角 新建命名空间 按钮

    • 命名空间ID: 57d41ddd-c089-449f-8921-bd0e8af14ddc

    • 命名空间名称: lamp-cloud-pro-ds-c

    • 描述:lamp-cloud-pro-ds-c

    新建命名空间
    新建命名空间
  2. 修改项目配置文件 config-dev.propertiesopen in new window 中的 nacos.namespace 为上一步新建的命名空间ID

    修改项目NacosId
    修改项目NacosId
  3. 修改 config-dev.propertiesopen in new windownacos.ip 为 nacos的 ip

    小技巧

    因为修改了config-dev.properties文件中任何参数,都需要重新编译项目后,才会生效。所以naocs.ip可以配置为域名,方便切换nacos时,不用在编译整个项目。

    当然,就算你的nacos没有域名,也可以在hosts文件配置域名映射:

    # vim /etc/hosts
    # 映射的ip 一定是nacos的ip
    127.0.0.1 lamp.com
    
  4. Mac系统或者Linux系统,修改 config-dev.propertiesopen in new windowlogging.file.path

    修改为电脑上已经提前创建好的路径,并且要确保当前系统用户拥有该路径的写入权限 。

    # 日志存储路径
    logging.file.path=/Users/tangyh/data/projects/logs
    
  5. 将项目的配置文件导入Nacos的 配置管理 - 配置列表

nacos_config_export.zipopen in new window 压缩包一次性导入nacos。

敲黑板

  • 这里导入的文件必须是nacos中导出压缩包, 自己解压zip修改里面的配置后在压缩成zip是不能导入的!

  • 一定要将配置文件导入或新建到第一步新建的命名空间下,千万不要导入public空间了!

  • 若我特意的这2点,你还是操作错了, 导致无法启动项目, 那么这个项目可能真的不适合你。

  1. 在 nacos 中,修改 mysql.yml、 oracle.yml 或 sqlserver.yml 的 数据库配置信息。

    提示

    datasource模式和column、none 模式,该配置文件有区别。 因为datasource使用dynamic代理数据源,column、none直接使用druid数据源

    • lamp-cloud-pro-datasource-column

      lamp:
        mysql: &db-mysql
          username: 'root'
          password: 'root'
          driverClassName: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://127.0.0.1:3306/lamp_ds_c_defaults?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&nullCatalogMeansCurrent=true
        database:  
          multiTenantType: DATASOURCE_COLUMN   # 可选值 DATASOURCE_COLUMN COLUMN
      
    • lamp-cloud-pro-column

      lamp:
        mysql: &db-mysql
          db-type: mysql
          validation-query: SELECT 'x'
          filters: stat,wall
          username: 'root'
          password: 'root'
          # 生产使用原生驱动,开发使用p6spy驱动打印日志
          # driverClassName: com.mysql.cj.jdbc.Driver
          # url: jdbc:mysql://127.0.0.1:3306/lamp_column?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&nullCatalogMeansCurrent=true  
          driverClassName: com.p6spy.engine.spy.P6SpyDriver
          url: jdbc:p6spy:mysql://127.0.0.1:3306/lamp_column?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&nullCatalogMeansCurrent=true
        database:  
          multiTenantType: COLUMN  # 固定填 COLUMN
      
    • lamp-cloud-pro-none

      lamp:
        mysql: &db-mysql
          filters: stat,wall
          db-type: mysql
          validation-query: SELECT 'x'
          username: 'root'
          password: 'root'
          # 生产使用原生驱动,开发使用p6spy驱动打印日志
          # driverClassName: com.mysql.cj.jdbc.Driver
          # url: jdbc:mysql://127.0.0.1:3306/lamp_none?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&nullCatalogMeansCurrent=true  
          driverClassName: com.p6spy.engine.spy.P6SpyDriver
          url: jdbc:p6spy:mysql://127.0.0.1:3306/lamp_none?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&nullCatalogMeansCurrent=true
        database:  
            multiTenantType: NONE  # 固定填 NONE
      
      

    &db-mysql、&db-sqlserver、&db-oracle 是什么意思?

    yml 中的锚点引用。 点我了解锚点引用open in new window

  2. 在 nacos 中,修改 redis.yml 的IP、端口、账号密码。 redis.ymlopen in new window

    lamp:
      cache:
        type: REDIS   # 本地不想启动redis,可以修改为  CAFFEINE
      redis:
         ip: 127.0.0.1
         port: 16379
         password: 'SbtyMveYNfLzTks7H0apCmyStPzWJqjy'    # redis 的密码,没有配置密码的改成单引号的空字符串: ''(这个密码是明文,没有加密)
         database: 0
    
  3. 在 nacos 中,修改 rabbitmq.yml 的IP、端口、账号密码。

    lamp:
      rabbitmq:
         # 系统默认没有使用rabbitmq, 所以enabled设置为false就不用配置。
         enabled: false
         ip: 127.0.0.1
         port: 5672
         username: lamp
         password: lamp
    

至此, 项目需要调整的配置全部完成, 其他参数用默认的即可, 二次开发建议理解清楚每个配置的含义。


配置文件介绍

本项目4.0+版本有11个配置文件,分成2类:

common.yml
mysql.yml
oracle.yml
sqlserver.yml
redis.yml
rabbitmq.yml
lamp-oauth-server.yml
lamp-base-server.yml
lamp-gateway-server.yml
lamp-system-server.yml
lamp-monitor.yml
  1. 通用配置:common.yml、redis.yml、mysql.yml、sqlserver.yml、oracle.yml、rabbitmq.yml
  • common.yml: 所有的服务所有的环境 公共的配置,如果有个别服务或者个别环境需要个性化配置, 只需要在每个服务的配置文件中单独修改即可。
  • mysql.yml、sqlserver.yml、oracle.yml: 配置 数据库链接信息、Mybatis Plus 配置信息等
  • redis.yml: 配置 redis 链接信息
  • rabbitmq.yml:配置 rabbtit 链接信息
  1. 项目配置:lamp-xxx-server.yml (如:lamp-base-server.yml、lamp-system-server.yml等) 在lamp-xxx-server.yml 里面配置每个服务的特有配置。比如lamp-oauth-server.yml里面会配置swagger扫描路径、项目启动端口、token有效期等信息。

小技巧

  1. 若一个项目有不同的开发环境、不同的开发人员共用一个nacos, 可以采用命名空间隔离、Group隔离、配置文件隔离等3种方式来实现。
  2. 配置文件的加载优先级为: bootstrap-dev.yml -> bootstrap.yml -> application-dev.yml ->application.yml -> lamp-xxx-server-dev.yml -> lamp-xxx-server.yml
  3. 配置文件的覆盖规则与加载优先级刚好相反。
👆🏻👆🏻👆🏻上面是评论区,对系统、本页文档什么疑问,可以在评论区留言。
❗️❗️❗️若评论区无法显示,请使用"手机热点"或"科学上网"。