视频剪辑软件 Markdown Cluster模式 Java程序员 reactjs excel highcharts printing dns Semantic UI vue实例 vuejs 教程 admin框架 coreldraw学习 js原生点击事件 手动安装fastboot驱动 python基础教程 python怎么入门 java8时间 java创建文件 java基础框架 java系统学习 javalist转数组 javascript实例 图解设计模式 js绝对值 快点蛆虫成就单刷 视频修复工具 凯恩与林奇2下载 dll下载 pdf安装包官方下载 什么模拟器最好 findall 工信部手机入网查询 机械键盘个别键位失灵 3d看图软件 电脑书籍下载 绿幕抠图 剑灵龙骨卷轴 android开发案例
当前位置: 首页 > 学习教程  > 编程语言

JedisConnectionException: java.net.SocketTimeoutException: connect timed out

2021/2/13 17:12:16 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

使用Eclipse或IDEA连接虚拟机中的redis报错:Exception in thread “main” redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out 这个异常很常见,一般出现报错就下面这几个误区导致&#xf…

使用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、vi 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

注意: 每个人执行 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


本文链接: http://www.dtmao.cc/news_show_700090.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?