Nacos服务注册失败解决方案
目录
问题
解决
问题
启动springboot项目,提示Nacos 客户端无法连接
2025-06-12T19:45:04.822+08:00 ERROR 5124 --- [service-order] [ main] c.a.c.n.registry.NacosServiceRegistry : nacos registry, service-order register failed...NacosRegistration{nacosDiscoveryProperties=NacosDiscoveryProperties{serverAddr='null', username='******', password='******', endpoint='null', namespace='null', watchDelay=30000, logName='null', service='null', weight=1.0, clusterName='null', group='DEFAULT_GROUP', namingLoadCacheAtStart='false', metadata={}, registerEnabled=true, ip='null', networkInterface='', port=-1, secure=false, accessKey='null', secretKey='null', heartBeatInterval=null, heartBeatTimeout=null, ipDeleteTimeout=null, instanceEnabled=true, ephemeral=true, failureToleranceEnabled=false}, ipDeleteTimeout=null, failFast=true}}, com.alibaba.nacos.api.exception.NacosException: Client not connected, current status:STARTING
解决
第一步,检查相关依赖版本是否匹配
比如,我的springboot版本是3.3.4,那么我的springcloud版本是 2023.0.3,springcloud Alibaba版本是2023.0.3.2,Nacos客户端版本是2.4.3
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.3.4</version><relativePath/>
</parent><spring-cloud.version>2023.0.3</spring-cloud.version>
<spring-cloud-alibaba.version>2023.0.3.2</spring-cloud-alibaba.version>
第二步,检查Nacos是否启动
访问http://localhost:8848/nacos/,是否能显示网页
网页加载不出来,Nacos未启动
找到Nacos的文件夹目录,进入bin目录,启动cmd,输入startup.cmd -m standalone命令启动服务
第三步
是的,前两步并没有解决我的问题,之后试了别的很多方法也没解决,最关键的步骤来了
感谢网友弹幕提示“Nacos从2.0版本开始引入了gRPC 协议作为客户端与服务器之间的通信方式而9848端口是gRPC协议的默认端口。因此新版本的Nacos需要开放9848端口以支持gRPC通信”
下面是windows环境的解决方法,其他环境的自己迁移一下
首先,以管理员身份运行cmd,输入命令netstat -ano | findstr "9848"检查端口是否打开
netstat -ano | findstr "9848"
像这种,输入完以后什么都没有,直接显示下一行可以进行输入的就是没开
然后,找到Nacos的配置文件去改配置,找到Nacos的文件夹目录,进入conf目录,找到application.properties文件打开
去找里面有没有nacos.grpc.port=9848这行配置,没有就加上,保存文件
nacos.grpc.port=9848
再去检查一下9848端口
像这样,配置就改成功了,9838端口也在运行了
然后去重启Nacos服务
找到Nacos的文件夹目录,进入bin目录,启动cmd,输入startup.cmd -m standalone命令再次启动服务
然后去启动你的springboot项目,能成功运行的话就ok了
到8848网页,点击服务管理-服务列表,点一下那个蓝字的public刷新,应该就能看到注册成功的服务了