yml配置文件,在配置文件中可以看到我连接的是我阿里云的nacos
server: port: 8889 spring: application: name: coin-common profiles: active: dev datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://33.100.39.95:3307/coin-exchange username: root password: 123456 redis: host: 33.100.39.95 port: 6380 cloud: nacos: discovery: server-addr: 33.100.39.95:8848 config: enabled: false file-extension: yml sentinel: transport: dashboard: 33.100.39.95:8858
开启服务时:发现控制台打印的一直注册到的nacos的地址是http://localhost:8848,然而我自己配置文件的地址和这个注册的是不一样的
ERROR 38808 --- [ main] c.a.n.c.config.http.ServerHttpAgent : [NACOS SocketTimeoutException httpGet] currentServerAddr:http://localhost:8848, err : connect timed out 2021-03-27 14:01:26.963 ERROR 38808 --- [ main] c.a.n.c.config.http.ServerHttpAgent : [NACOS SocketTimeoutException httpGet] currentServerAddr:http://localhost:8848, err : connect timed out
解决————————
新建一个bootstrap.yml或bootstrap.properties配置文件(这两个配置文件比application.yml优先加载),填以下配置
spring.cloud.nacos.config.enabled=false
(这里虽然我在application.yml中已经配置了spring.cloud.nacos.config.enabled,但不知道为什么不生效。我把application.yml的配置去掉也没什么影响)
这里重启服务,发现此时服务注册的nacos就不再是本地了