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文件,发现他配置和我的不一样,
这是我最开始的配置
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地址
看完公司后重新配置
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地址
我觉得问题主要出现在
IPADDR="192.168.64.129" ATEWAY="192.168.64.2"
本机上可以看到ip走的地址
linux命令:ifconfig
在配置/etc/hosts文件
主机名查看命令:hostname
[root@hejj network-scripts]# hostname hejj.com
重新配置后,发现上网问题好了,然后duboo注册的地址变成了192.168.64.129,这个问题就解决了,
又报了一个新的错误,Host * is not allowed to connect to this MySQL server,但是这变成了mysql的访问问题
问题解决办法
use mysql; select 'host' from user where user='root'; select host, user from user;
记住,mysql要重新启动,才会生效,于是重新启动mysql,果然可以访问了,到此,一些问题都解决了。