JedisConnectionException: java.net.SocketTimeoutException: connect timed out
使用Eclipse或IDEA连接虚拟机中的redis报错:Exception in thread “main” redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out这个异常很常见,一般出现报错就下面这几个误区导致:原因分析:1)ip和端口
使用Eclipse或IDEA连接虚拟机中的redis报错:Exception in thread “main” redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out
这个异常很常见,一般出现报错就下面这几个误区导致:
原因分析:
1)ip和端口号不正确(一般为书写错误)
2)虚拟机中防火墙(一般没有关闭,或者没有开放端口号)
3)redis.conf 中 bind 127.0.0.1 未用#注释掉
4)redis.conf 中 protected-mode yes 保护模式未关闭
解决步骤:
1、检查端口号是否书写正确,为当前虚拟机的ip地址和端口号
2、开放端口号,或者直接关闭防火墙,个人推荐使用开放端口号
步骤:
1、cd /etc/sysconfig
2、vim iptables 打开iptables配置文件
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT <<<< ——添加这一行就
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
3、添加以后执行保存 && 重启防火墙的命令
service iptables save && service iptables restart
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT 针对这条命令进行一些讲解
-A 参数就看成是添加一条 INPUT 的规则
-p 指定是什么协议 我们常用的tcp 协议,当然也有udp 例如53端口的DNS 我们要配置DNS用到53端口 这就是使用udp协议的而 --dport 就是目标端口 当数据从外部进入服务器为目标端口 反之 数据从服务器出去 则为数据源端口 使用 --sport
-j 就是指定是 ACCEPT 接收 或者 DROP 不接收
注意: 每个人执行 vi iptables 后打开的内容都有可能不一样,不必在意,没什么影响,直接添加上面我箭头标记的那行就可以了
如果不想开放端口号可以直接关闭防火墙,个人推荐开放端口号
命令 :chkconfig iptables off && service iptables stop
3、通过vim命令 打开redis的配置文件 redis.conf
命令:vim /opt/myRedis/redis.conf (这里为个人的redis.conf的路径,每个人的路径不一样)
打开以后将 bind 127.0.0.1注释
并且将protected-mode yes 改为 protected-mode no
为什么要注释 bind 127.0.0.1 ,因为它指定了 redis 只接收来自于该IP地址的请求,但是如果不进行设置,将它注释掉,那么将处理所有IP地址的请求
那为什么又要将 protected-mode 改为 no 呢?因为如果是 yes 就意味着拒绝外部访问,要是开启了密码和bind,可以开启。否则最好关闭,设置为no
设置密码的命令是 config set requirepass 密码
这里我没有设置密码,直接是将protected-mode 设置成 no
异常是什么?异常是你进步的体现,是你层次的体现,你碰到了别人碰不到的异常,代表你的层次要比别人高,就和打怪兽一样,你等级越高打的怪兽就越厉害,相信自己,加油!希望我的解答可以像氪金装备一样对你打怪有帮助,有疑问可以评论哟!!!多多关注
更多推荐
所有评论(0)