注意:版本 2.1.x.RELEASE 对应的是 Spring Boot 2.1.x 版本。版本 2.0.x.RELEASE 对应的是 Spring Boot 2.0.x 版本,版本 1.5.x.RELEASE 对应的是 Spring Boot 1.5.x 版本。
我这个用的是springboot2.3.12.RELEASE、服务端Nacos2.2.3
下载Nacos:https://github.com/alibaba/nacos/releases
我这里下载的是最新版本2.2.3
上传服务器然后解压,我的目录是/usr/local/下
tar -zxvf nacos-server-1.4.1.tar.gz
mv 你要移动的文件 /usr/local/nacos
解压后文件内部目录:
Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。
#进入nacos配置文件目录
cd /opt/nacos/conf
#编辑nacos配置文件
vim application.properties
修改框中的端口就行了,我这边就默认8848
不要直接进入bin目录下启动Nacos,会报错,先进入conf目录下的application.properties,改配置文件之前记得先备份!
把这几个注解解开,删掉前面的‘#’。框中对应自己的ip和数据库。
新版本好像默认没登录界面,需要自己开鉴权!
Nacos官网鉴权:
Nacos官网鉴权:https://nacos.io/zh-cn/docs/v2/guide/user/auth.html
自定义密钥
自定义身份识别的keyhevalue
最后在cluster.conf.example配置nacos ip和端口
我这里是单机,所以就是一个。如何是集群,就需集群:三个及三个以上…
注意端口最好隔一个号,不要连号,好像会有问题。比如8848下一个8850.。。。
然后进入bin目录启动:
注意要加 -m standalone,不然后报错,默认是集群启动,如果你是集群就没事,单机需要,
sh startup.sh -m standalone
你不想加就需要去修改配置文件startup.sh
改为:standalone
就可以sh startup.sh 启动
启动成功!
nacos配置列表和命名空间
这个要注意你的命名空间,默认是public,如果你不改也可以不管。选中你的命名空间,然后点+新建配置
输入自己的dataid和group名。
新建命名空间
配置列表和命名空间都有了。
springboot整合nacos
先导入maven依赖:
0.2.7
0.2.7
com.alibaba.boot
nacos-config-spring-boot-starter
${nacos.config.version}
com.alibaba.boot
nacos-discovery-spring-boot-starter
${nacos.discovery.version}
配置文件:
data id、group、namespace在Nacos配置
data id尽量和properties名字一样
server.ip=你的nacos所在服务器的ip
spring.application.name=application-localdev
nacos.config.username=nacos
nacos.config.password=nacos
nacos.config.data-id=application-localdev.properties
nacos.config.group=DEV_GROUP
nacos.config.server-addr=${server.ip}
nacos.config.type=properties
nacos.config.namespace=2a4e26b6-ba9e-4e59-b960-19952630d799
nacos.config.auto-refresh=true
nacos.config.enable-remote-sync-config=true
nacos.discovery.server-addr=${server.ip}
nacos.discovery.auto-register=true
nacos.discovery.namespace=2a4e26b6-ba9e-4e59-b960-19952630d799
nacos.discovery.register.group-name=DEV_GROUP
启动类加注解:@NacosPropertySource(dataId = “application-localdev.properties”,groupId = “DEV_GROUP”,autoRefreshed = true)你的Nacos的data id和group名称需要一样
启动后去Nacos服务列表看服务自动注册了
也能读取到Nacos配置文件的值
测试类:加入注解@NacosValue(value = “${xxx}”,autoRefreshed = true)
可以看到也是更新了