1、redis 部署环境 centos7.0
2、通过jedis 源码调试 出现错误,如下
Exception in thread “main” redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out
3、超时异常,有两种情况,
1)centos 系统防火墙阻止程序链接
2)应用服务器拒绝
1、首先检查防火墙
telnet 192.168.2.35 6379 ,如果不能连接,防火墙开启,关闭了端口,
systemctl stop firewalld.service (centos7 的命令有所更改)
此处配置防火墙也可以,为求简单,直接关了防火墙
再次检查telnet 192.168.2.35 6379 能够进行连接
2、查询连接权限
这里 redis-server* :6379 允许所有地址访问,
可以修改redis.conf 配置文件
bind 127.0.0.1 禁止本地访问
bind 局域网IP 禁止局域网某IP访问
将这两个注释掉即是允许所有ip访问
protected-mode no 关闭保护模式
3、保存redis.conf 配置文件,重启redis-server
4、测试代码如下
Jedis jedis = new Jedis(“192.168.2.35”, 6379, 5000);
System.out.println(jedis.ping() + “=========”);
输出如下:
PONG=========
问题解决