1.报错截图
2.问题描述
问题出现原因:
SpringCloud项目整合Nacos时启动一直显示连接127.0.20.1:9848失败,因为在Nacos2.X以后,Nacos新增了两个端口9848和9849,所以有这个报错很正常,但是我的Nacos是在服务器中部署的,而且,服务启动成功并注册到了Nacos中,他还是报这个错我就很费解
项目环境
SpringCloud:2021.0.4
SpringBoot:2.6.11
JDK17
解决方法
网上的解决方案基本就是两种,
- Nacos地址配置的不对
- Nacos的9848和9849端口没有被放行
但是很明星这两个跟我都没关系,通过一下方法成功解决
因为Nacos配置信息必须放到bootstrap.yml
配置文件中,而我把他放到了application.yml
中,貌似读取不到rpc配置,所以Nacos会一直读取本地的9848端口。
最终解决方案:将Nacos配置信息放到Bootstrap.yml中即可,还有一种方法是可以将SpringCloud进行版本升级或降级Nacos(本人懒得弄,主要是怕又遇到一堆问题,有兴趣的可以试试)
application.yml
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
application:
name: Base # 服务名称
profiles:
active: dev # 环境信息
server:
port: 8081
--- # nacos 配置
bootstrap.yml
spring:
cloud:
compatibility-verifier:
enabled: false
nacos:
username: nacos
password: nacos
config:
server-addr: nacos服务器IP:端口
# 配置文件读取的nacos命名空间ID,
namespace: 命名空间名称
file-extension: yaml
# 获取配置的超时时间,单位:ms,默认值:3000
timeout: 3000
# 开启监听和自动刷新,动态感知配置变化,默认值:true
refresh-enabled: true
compatibility-verifier:
enabled: false
group: DEFAULT_GROUP
discovery:
server-addr: nacos服务器IP:端口
namespace: 命名空间名称
group: DEFAULT_GROUP
config:
import:
# foo.yml与nacos中dataId一致
- nacos:base-dev.yaml
解决完启动
可以看到报错不见了
问题解决的方案是从这里发现的地址,有兴趣的可以去看一下,比我讲的细