CentOS7下解决 Jedis Failed connecting to X.X.X.X:6379
1、写在前面
最近在学习Redis,准备尝试下使用java操作Redis,在第一步连接客户端的时候就卡住了,很是难受,经各方努力,终于解决了,记录下,希望对初学者有一定的帮助,如有不对之处烦请指正!
2、环境版本
CentOS 7 + Redis 6.2.2 + Jedis 3.5.1
3、错误描述
redis.clients.jedis.exceptions.JedisConnectionException: Failed connecting to 127.0.0.1:6379
Caused by: java.net.SocketTimeoutException: connect timed out
4、解决步骤如下
1、修改配置文件
找到启动Redis配置文件
redis.conf
,使用vim打开,修改配置文件
#修改下启动方式,修改yes
daemonize yes
#修改下ip信息,注释以下信息
#bind 127.0.0.1 -::1
#修改安全模式,修改为no
protected-mode no
2、检查端口
#检查6379端口是否开启,此处我已经开启
[root@localhost rconfig]# firewall-cmd --list-ports
80/tcp 6379/tcp 8080/tcp
#如果端口未开启,具体操作如下:
[root@localhost rconfig]# firewall-cmd --zone=public --add-port=6379/tcp --permanent
[root@localhost rconfig]# success
#重启防火墙
[root@localhost rconfig]# firewall-cmd --reload
#再次查看端口是否开启
[root@localhost rconfig]# firewall-cmd --list-ports
80/tcp 6379/tcp 8080/tcp
3、重启
重启LInux系统(个人建议)
重新连接Redis服务
#断开连接
127.0.0.1:6379> shutdown
not connected> exit
#重新连接
[root@localhost bin]# redis-server rconfig/redis.conf
[root@localhost bin]# redis-cli -p 6379
127.0.0.1:6379> ping
PONG
4、编写java代码
1、引入jar
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.5.1</version>
</dependency>
2、编写测试代码:
需要注意此处的ip一定是你的虚拟机ip
public class TestPing {
public static void main(String[] args) {
//需要注意此处的ip一定是你的虚拟机ip
Jedis jedis = new Jedis("192.168.0.103", 6379);
System.out.println(jedis.ping());
}
}
D:\Java\jdk1.8\jdk-8u181\bin\java.exe...
PONG
至此,可以成功连接!