SpringBoot集成Nacos

1,021 阅读3分钟

一、环境说明

1.CentOS72.

   Jdk1.83.

   Mysql5.74.

   Nacos1.35.

   SpringBoot2.3.1.RELEASE6.

   Maven3.6

二、下载Nacos

1.Nacos官网:

      nacos.io/zh-cn/index….

   Nacos下载地址:

      github.com/alibaba/nac…

三、解压启动Nacos

1.解压:tar -zxvf nacos-server-1.3.0.tar.gz
2.进入目录:cd nacos/bin
3.单机启动Nacos:sh startup.sh -m standalone
4.如果觉得自己记不得这个命令
    1.先在Nacos startup.sh 所在的目录中输入命令:pwd 等会儿会用上!
    2.然后随便在哪个目录输入命令:vim startNacos.sh
    3.复制刚刚pwd命令得到的的目录地址,再复制单机启动命令:sh /var/tool/nacos/bin/startup.sh -m standalone
    4.按esc,输入法切换到英文,输入 :wq 退出并保存!
    5.在startNacos.sh存在的目录输入授权命令:chmod +x startNacos.sh 变绿了就是可执行的文件了!
    6.在startNacos.sh存在的目录输入执行命令:./startNacos.sh
    7.输入命令:ps -ef | grep nacos 看看是否正常启动!
 5.启动遇到错误要做到三不:不要慌!不要急!不要骂! 
    1.先检查是否安装了---> jdk <--- 输入命令:java -version
    2.https://www.baidu.com    把错误信息粘贴上去
    3.https://www.google.com   把错误信息粘贴上去
 6.浏览器访问Nacos:http://ip:8848
    1.访问失败(先确保Nacos是否正常启动!!!)
         本地虚拟机可以直接将防火墙关闭:systemctl stop firewalld
         云服务器开放端口:sudo firewall-cmd --zone=public --add-port=8848/tcp --permanent ,刷新:sudo firewall-cmd --reload
    2.访问成功
         输入默认账号密码:nacos ,感受下我们中国人开源的配置中心、注册中心...

四、配置Nacos

1.关闭Nacos(随意选择一种)
    1.输入命令:ps -ef | grep nacos ,然后输入:kill -9 进程号 ,强制杀死Nacos进程!
    2.在nacos/bin目录中执行:./shutdown.sh ,关闭Nacos!
2.配置Nacos->Mysql
    1.编辑配置文件:vim nacos/conf/application.properties
    2.放开、更改配置
        spring.datasource.platform=mysql
        db.num=1
        db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
        db.user=root
        db.password=自己mysql的密码
    3.按esc,输入法切换到英文,输入 :wq 退出并保存!
    4.操作Nacos的数据库(也可以用数据库连接工具连接mysql执行这个sql语句)
        1.输入命令:mysql -uroot -p ,输入密码,没有直接回车就行
        2.创建数据库:create database nacos_config;
        3.选择数据库:use nacos_config;
        4.执行sql文件:source /Nacos所在目录/nacos/conf/nacos_mysql.sql
3.操作完成后按照上面的方式再启动Nacos
    1.想要修改登录密码,右上角点击账号选择修改密码即可!
    2.想要修改登录账号,在数据库中修改users、roles表中username字段即可!

五、与SpringBoot集成,使用Nacos配置中心

1.首先进入Nacos管理页面,点击命名空间新建命名空间(不是强制要求可以用保留空间)
        官网解释:用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group  Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。
2.点击配置列表再点击右上的加号图标新建配置(注意选择刚刚配置的命名空间名称,没配置就默认的pubilc)
        Data ID:我一般用项目名加上.yml!保证唯一性就行!列:study_nacos.yaml
        Group:没有特殊要求直接使用默认的就行
        配置格式:没有特殊要求直接选择YAML。好用!看起来爽!
        配置内容:可以先找一些之前的配置粘贴上去,不行就随便写两个注释!
    详细配置讲解:https://nacos.io/zh-cn/docs/concepts.html
3.创建SpringBoot项目
4.除了引入常用的dependencys,还需要引入:nacos-config-spring-boot-starter
    <!-- nacos-config -->
    <dependency>
        <groupId>com.alibaba.boot</groupId>
        <artifactId>nacos-config-spring-boot-starter</artifactId>
        <version>0.2.7</version>
    </dependency>
5.直接删除application.properties,新建bootstrap.yml
6.说实话真想吐槽,找yaml配置找到吐!!!!这是个还不错的配置文档:https://github.com/nacos-group/nacos-spring-boot-project/wiki
7.分享下我的配置
     nacos:
       config:
         bootstrap:
         # 开启预加载配置
         enable: true
         # 服务地址
         server-addr: 127.0.0.1:8848
         # 服务账号
         username: nacos_account
         # 服务密码
         password: nacos_password
         # data-id
         data-id: study_nacos.yml
         # group
         group: DEFAULT_GROUP
         # 命名空间
         namespace: '刚刚自己新建的命名空间ID,没有新建不需要配置namaspace'
         # 配置文件类型
         type: YAML
         # 最大重试次数
         max-retry: 10
         # 自动刷新
         auto-refresh: true
         # 重试时间
         config-retry-time: 2000
         # 监听长轮询超时时间
         config-long-poll-timeout: 46000
8.记得在启动之前编辑下配置内容,可以修改下启动端口或其他能直接感受到配置中心起作用的配置!
9.接下来就是启动项目了!启动遇到错误要做到三不:不要慌!不要急!不要骂!