dubbo之failed to connect to server /xx.xx.xx.xx:20880 client-side timeout问题解决
记录一次经历
将公司项目拷贝到本地虚拟机进行运行的时候发生的错误,这个问题网上说的解决方法很多种,由于对linux系统不熟悉,才第一次用vmware安装虚拟机和linux系统,配置/etc/sysconfig/network-scripts/ifcfg-ens33与/etc/hosts文件,从网上拷贝的配置,也不懂如何修改,按照网上的拷贝下来,linux是正常可以启动了,而且用SecureCRTPortable,xshell这样的工具也可以正常连接,开始踏上linux这条不归路。
问题发现
当我电脑连接手机热点的时候,虚拟机是可以上网的,而且本机与虚拟机地址相互可以ping通,但是如果用公司网络却不通,偶然的机会发现,如果先启动linux,在开网,发现可以相互正常ping通ip地址,也可以上网。以为就这样可以快乐的踏上linux学习之路。
软件安装
赶紧安装配置jdk和tomcat,迫不及待的想试试手,这个还挺顺利,很快,第一个restful+spring+mybatis的项目可以正常启动,继续安装nginx,也顺利可以运行,由于dubbo项目需要依赖zookeeper,于是紧跟着安装了zookeeper,但是启动dubbo项目时,就遇到了ip地址乱入的问题,导致消费者找不到提供者,网上搜索了一大堆,搞这期间还解决了项目jetty运行,打包到服务器,一直404,应该是某个地址空格的原因吧,到凌晨1点,dubbo问题还是没有解决,于是,第二天,我就先看看公司的怎么可以,看了一下公司的ifcfg-ens33文件,发现他配置和我的不一样,
这是我最开始的配置
1 2 3 4 5 6 7 8 9 | TYPE= "Ethernet" # 网络类型为以太网 BOOTPROTO= "static" # 手动分配ip NAME= "ens33" # 网卡设备名,设备名一定要跟文件名一致 DEVICE= "ens33" # 网卡设备名,设备名一定要跟文件名一致 ONBOOT= "yes" # 该网卡是否随网络服务启动 IPADDR= "192.168.220.101" # 该网卡ip地址就是你要配置的固定IP,如果你要用xshell等工具连接,220这个网段最好和你自己的电脑网段一致,否则有可能用xshell连接失败 GATEWAY= "192.168.220.2" # 网关 NETMASK= "255.255.255.0" # 子网掩码 DNS1= "8.8.8.8" # DNS,8.8.8.8为Google提供的免费DNS服务器的IP地址 |
看完公司后重新配置
1 2 3 4 5 6 7 8 9 10 11 12 | BROADCAST=192.168.64.255 // DEFROUTE=yes UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 TYPE= "Ethernet" # 网络类型为以太网 BOOTPROTO= "static" # 手动分配ip NAME= "ens33" # 网卡设备名,设备名一定要跟文件名一致 DEVICE= "ens33" # 网卡设备名,设备名一定要跟文件名一致 ONBOOT= "yes" # 该网卡是否随网络服务启动 IPADDR= "192.168.64.129" # 该网卡ip地址就是你要配置的固定IP,如果你要用xshell等工具连接,220这个网段最好和你自己的电脑网段一致,否则有可能用xshell连接失败 GATEWAY= "192.168.64.2" # 网关 NETMASK= "255.255.255.0" # 子网掩码 DNS1= "8.8.8.8" # DNS,8.8.8.8为Google提供的免费DNS服务器的IP地址 |
我觉得问题主要出现在
1 2 | IPADDR= "192.168.64.129" ATEWAY= "192.168.64.2" |
本机上可以看到ip走的地址
linux命令:ifconfig
在配置/etc/hosts文件
主机名查看命令:hostname
1 2 | [root@hejj network-scripts]# hostname hejj.com |
重新配置后,发现上网问题好了,然后duboo注册的地址变成了192.168.64.129,这个问题就解决了,
又报了一个新的错误,Host * is not allowed to connect to this MySQL server,但是这变成了mysql的访问问题
问题解决办法
1 2 3 | use mysql; select 'host' from user where user= 'root' ; select host, user from user; |
记住,mysql要重新启动,才会生效,于是重新启动mysql,果然可以访问了,到此,一些问题都解决了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具