场景:jedis连接虚拟机中的redis,redis服务启了以后本地无法telnet通对应的端口。
解决:http://blog.youkuaiyun.com/heiyueya/article/details/69488746
这篇博客中提到的方法是可行的,我这里再提供一种方法。
当我们启redis服务时可以指定redis.conf文件,当我尝试用这种方式启的时候,用jedis写得Java程序无法connect上,本地telnet一下发现不通,报错原因同引用的文章所述。按照文章中提到的方法是可以解决,但有没有其他办法呢?为什么一定要config set requirepass * 呢?我先尝试把指定的redis.conf文件中NETWORK那部分默认的bind127.0.0.1注释掉,尝试依旧不行,改成bind 0.0.0.0以后再尝试就ok了。
但在实验过程中我也遇到一个问题,当我未指定redis.conf,采用默认方式直接redis-server启服务,直接在宿主机上telnet就通了。默认的redis.conf配置也没有什么特别之处,netstat –an| grep 6379看了下端口,这种情况下是* 6379 listening,而指定redis.conf启服务显示的是对应的IP 端口,不改bind ip时是默认的127.0.0.1 6379此时无法连通,改成0.0.0.0 6379以后就OK了。难道默认方式启的redis-server不是去读对应的redis.conf文件?