微服务搭建----springboot接入Nacos2.x
springboot接入Nacos2.x--------------------nacos之前用的版本是1.0的,现在重新搭建一个2.0版本的,学如逆水行舟,不进则退,废话不多说,开搞### 1、 nacos2.x搭建1,首先第一步查询下项目之间的版本对照,不然后期会出现各种无法预测的版本冲突问题,今天就是复现了,可以参考链接: 版本对照2,下载nacos,可以通过下方下载地址下载对应的版本 nacos下载地址3,将下载之后的文件解缩后
4,解压成功后,进入bin文件通过cmd执行命令:startup.cmd -m standalone,然后执行成功了,通过链接进入了nacos后台 http://localhost:8848/nacos
5,很简单是不是,但是这里有个小坑,2.4.3的这个版本,初始化是没有账号密码的,一开始我是有下载1.x的其他版本,他是需要输入账号密码的,初始账号密码是,nacos acos,然后很操蛋的事情来了,因为是停留在登录页面,所以他是要求你输入密码,但是2.4.3没有初始账号密码,所以点击登录一直提示账号密码失败,当时很纳闷,没改过密码呀,怎么就是不对呀,纳闷了好久,后面不小心关了链接,重新点击http://localhost:8848/nacos,他进去了,他进去了!!! 6,回到正题,密码怎么办呢?那就开启鉴权,把账号密码加起来,再把数据库也建立进去,配置如下 ##修改conf/application.properties文件 nacos.core.auth.enabled=true # 必须设置 # 用于在请求 nacos 时,请求头添加key:value信息,可通过验证 nacos.core.auth.server.identity.key=example nacos.core.auth.server.identity.value=example # 设置用于生成token的密钥, 需要原文不低于32位的Base64加密的结果, nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg= 7,开启之后,直接通过:http://localhost:8848/nacos,会有如下的提示,然后首次登录也是设置密码
### 2,构建springboot项目,使用的maven进行构建#### pom文件 <?xml version="1.0" encoding="UTF-8"?> 4.0.0 org.springframework.boot spring-boot-starter-parent 2.3.12.RELEASE
com.example Demo 0.0.1-SNAPSHOT Demo Demo <java.version>1.8</java.version> <spring.version>4.2.5.RELEASE</spring.version> <nacos-config-spring-boot.version>0.2.1</nacos-config-spring-boot.version> org.springframework.boot spring-boot-starter-web org.projectlombok lombok true
org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-starter-aop
org.junit.jupiter junit-jupiter-api test org.junit.jupiter junit-jupiter-engine test org.springframework.boot spring-boot-starter-webflux 2.2.2.RELEASE
com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery 2.2.9.RELEASE com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config 2.2.9.RELEASE org.springframework.boot spring-boot-maven-plugin org.projectlombok lombok #### 2、配置文件配置1,这里有个点需要注意的是,配置文件用bootstrap.yml进行配置,而不是application.yml,为什么呢?因为如果使用的是application进行配置的话,虽然也能注册到nacos去,但是nacos的配置文件是无法读取成功的 #应用服务名称 server: port: 8081 spring: application: name: order-core profiles: active: test #可选值dev test uat prod cloud: nacos: discovery: server-addr: 127.0.0.1:8848 #服务注册中心地址 namespace: ${spring.profiles.active} #指定命名空间 username: nacos #用户名 password: nacos #密码 config: server-addr: ${spring.cloud.nacos.discovery.server-addr} #服务配置中心地址 namespace: ${spring.profiles.active} #指定命名空间 username: ${spring.cloud.nacos.discovery.username} #用户名 password: KaTeX parse error: Expected 'EOF', got '#' at position 41: …very.password} #̲密码 f…{dd.aa}") private String aa; @RequestMapping(value = “/get”, method = GET) @ResponseBody public String get() { return aa; } }
4,再记录一点,当nacos和springboot或者springclound版本存在冲突时,会在启动时出现403的错误,出现这个错误时,可根据1.1提到的进行版本对照修改,以及在配置配置文件时,命名空间的data-Id也要一一对应,下一步就是搭建服务间远程调用OpenFeign
更多推荐
所有评论(0)