无法连接(读取)|无法连接(读取) nacos 配置中心及文件(能踩的坑都踩了)
之前做项目不熟悉 nacos 导致一个配置中心弄了整整一天,第二天虽然弄好了,但是又因为开发中代码出错回滚了一下,这下回滚不要紧,直接把我之前配置好的 nacos 文件也一起回滚了,由于忘记了上次哪里出错,又重新配了一天,可以说是网上有的没的我都踩了。。。。。
先说一下运行环境,或许因为你我的版本不一样,解决的方法也不一样
SpringBoot版本 | SpringCloud版本 | cloud Alibaba版本 |
---|---|---|
2.1.8.RELEASE | Greenwich.SR6 | 2.1.4.RELEASE |
- namespace 填写的是命名空间的ID不是名称
- 本地配置文件名称是 application.yml(properties) 和 bootstrap.yam(properties) 不要因为 nacos 上面有个 yaml 选项就把后缀写的一样
- SpringBoot 不识别 bootstrap 文件,需要添加依赖
org.springframework.cloud spring-cloud-starter-bootstrap3.0.1
- 若要使用 @Value 读取本地配置文件,记得导入正确的包以及 @Value(${"key"}) key为你要读取的配置名称,这才能读取到
- 重点!!! 在 nacos 上新建配置文件的 Data Id 不能随意乱写,根据官方文档是由这几部分组成
${prefix}-${spring.profiles.active}.${file-extension}
prefix :注册在 nacos 上的服务名 spring.application.name 的值
prefix 和 spring.profiles.active 之间有一个 - 连接符,如果不写 spring.profiles.active 的话那么直接 prefix 和 file-extension 拼接,没有连接符
file-extension :这个和你选择的扩展名以及本地扩展名这三个值一致
文章图片
- yml 文件中注意这几个层级关系以及缩进
文章图片
file-extension的层级关系为 spring.cloud.nacos.config.file-extension 写错了会导致请求被拒绝
- 本地配置文件的写错会导致无法访问网站请求被拒
- 连接配置中心的参数需要写在 bootstrap 里面,写在 application 里面无法连接配置中心
- bootstrap 比 application 先执行,且内容无法覆盖(具体差异网上说的挺详细)
- 注意连接 nacos 的地址,如果是虚拟机启动 nacos,而在本地连接的话,地址为虚拟机地址而不是本地 localhost(127.0.0.1)
推荐阅读
- Android 数据库读取数据显示 [5]
- android studio adb连接不上手机
- SAP如何无需API开发连接表单系统、OA系统、CRM系统、数据库等第三方应用
- android 4.0 webview 无法播放视频
- Win8.1系统还原后提示Windows无法激活的处理方案
- Win8.1应用商店无法下载报错0x80070426的应对措施
- Windows8.1应用商店无法运用报错0x80080005怎样处理?
- Win8.1无法创建系统映像备份的处理办法
- Win8.1无法完成更新怎样办?
- Win8.1视频播放器无法看视频怎样处理?