如果你看到这里,我默认你已经安装好了redis,并且已经成功的在虚拟机的Linux系统中ping通。

介绍一下我的环境:VMware虚拟机安装centos 6.5版的Linux系统,redis是3.0.0. 主机是win10,使用的redis desktop manager是一个很古老的版本0.7.9.809,确实十分古老。但是博主只是为了测试是否能连接,因此各位不要纠结这个问题。JAVA IDE是eclipse mars。

好了,在虚拟机中已经可以成功Ping通,如下图

现在进入正题!!!!!

我真的是太气愤了!!!网上虽然确实有一大堆人出谋划策,帮助大家解决学习过程中遇到的Bug。但是!!!能不能不要千篇一律复制粘贴!!对自己写的东西负责好吗!!!

从头到尾,我看了百来篇技术博客、文档,都是说bind 127.0.0.1注释掉(确实需要),受保护模式改为no设置密码主机和虚拟机ip要在同一网段等(根本不需要)...还有要不就是贴一堆failure  trace代码!!连那种没有用的代码问问题的时候都要粘上来,谁有那个心情看啊!!!

请务必答应我错误代码放精华部分就行了好吗!!!

好吧,上面是牢骚,接下来才是正题!!

如果你已经用完了上述所有方法还是无法解决redis desktop manager无法连接虚拟机中的redis时,罪魁祸首一定是你的虚拟机防火墙。

最好的测试是不是虚拟机中的linux系统的防火墙在捣鬼的办法如下:

打开你windos系统的cmd,敲 telnet linux系统ip 端口号,如:telnet 192.168.18.133 6379

(linux系统的Ip应该都知道咋看吧,敲ifconfig取第一个出现的Ip地址就行了)

如果提示telnet不是内部外部指令啥的,打开控制面板,依次点击下图中矩形框中的东西

请务必在系统提示你重启的时候果断重启!!!!请务必在系统提示你重启的时候果断重启!!!!请务必在系统提示你重启的时候果断重启!!!!

网上说打开telnet客户端不用重启的是win7系统,win10比win7傲娇啊!!不重启就不让你的选择生效!楼主在这里也走了弯路,一把辛酸泪。

 设置完了,重启之后,你的所有程序都关闭了吧。这个时候就请你不厌其烦的,打开你的vmware,再开启你的centos,再启动你的redis,再测试一下能否在centos中ping通。也就是...回到最初的样子。

弄完之后,进入windows 的cmd界面,敲telnet linux系统ip 端口号,如果迅速出现一片漆黑,那你可以关掉网页了....因为本篇博客帮不了你。

如果出现(当然我输6380是为了截图失败的结果,你应该输的估计是6379)

 

那就说明的确是你的centos的防火墙在整幺蛾子!不听话!先把它关小黑屋呆一会儿!让它心甘情愿开放你需要的端口,再打开它。

依次敲击如下代码: 

/etc/init.d/iptables stop

/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT

/etc/init.d/iptables save

service iptables restart

敲击完了之后,可以查看一下是否开放成功,检查状态的代码:/etc/init.d/iptables status

 如果开放成功应该是这样的:

你们关注6379就是了,其它的端口是我redis-cluster用的,开启的方法都一样,在用eclipse连集群失败的时候也是因为端口没有开,错误代码是:

(单机版的错误代码)redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect

(集群版的错误代码)redis.clients.jedis.exceptions.JedisConnectionException: no reachable node in cluster

开启端口之后,再用telnet指令检查一下能否连接。如果还是不能连接,就再关一下防火墙,再开一下防火墙。反正我是这么解决的....如果你这么做了还没有解决的话,就各种重启一下试试吧...反正你也找不到别的解决办法,还不如用网管的万能法则——重启。

幸运的话,你也出现一片漆黑了,再用redis desktop manager测试一下是否能连接成功。

 如果成功的话,反应是很快的,如果你点TESTCONNECTION很久都没反应,估计又失败了。很抱歉,恕在下才疏学浅,帮不上忙....祝你好运!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐