Java连接虚拟机的redis报错问题解决办法
来源:互联网 发布:吉吉影音播放器 mac 编辑:程序博客网 时间:2024/06/05 16:38
直奔主题,Java连接虚拟机报错,代码如下:
public class TestPing {
public static void main(String[] args) {
Jedis jedis = new Jedis("192.168.201.128", 6379);
System.out.println(jedis.ping());
}
}
运行报错,控制台信息如下:
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out
借鉴一些网友的解决方案:
关闭虚拟机的防火墙
1)暂时关闭防火墙:/etc/init.d/iptables stop
2) 重启虚拟机生效:chkconfig iptables off 或者 /sbin/chkconfig --level 2345 iptables off
楼主使用的是第二种方法,如下图所示:
重启虚拟机之后,在查看防火墙状态,如下图所示
继续运行上述代码,报错如下:
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect
解决方案,修改redis.conf配置文件,将端口号127.0.0.1注释掉,这样任何IP都能访问,如下图所示:
保存退出后,运行代码,发现报错依旧,因为尚未启动redis服务,启动redis服务,如下图所示:
运行代码,此时报错如下:
上述exception大致意思是:拒绝redis在保护模式下运行的,没有绑定IP地址,没有授权密码,如果你想从外部电脑连接redis的话,你必须要采纳以下其中的某一个解决方法
楼主采用的第二种方法,修改redis.conf配置文件,将protected-mode yes 改为no,如下图所示
重启虚拟机,启动redis服务,如下图所示
运行代码,控制台输出PONG,如下图所示:
到此,问题解决。
题外话:我有个疑问就是防火墙和redis.conf配置文件里已经把IP注释了,为何会报红色的错误,经过网上查阅资料,发现其他网友也有类似问题,不过大部分人用的红色报错的第四种解决办法,在这里给出链接
- Java连接虚拟机的redis报错问题解决办法
- Java连接linux虚拟机的redis报错问题解决办法
- Java连接虚拟机的redis报错问题解决办法
- Java连接虚拟机的redis报错问题解决办法
- Java连接虚拟机的redis报错问题解决办法
- java连接Redis报错
- RedisDesktopManager无法连接虚拟机中启动的redis服务问题解决
- Java连接虚拟机linux环境下的redis时报错
- Java连接虚拟机的redis异常
- Java 连接虚拟机上的 redis
- 安装Ecshop首页出现报错常见的问题解决办法
- cocopods 一直报错找不到头文件的问题解决办法
- Log4j的知识点以及相关报错问题解决办法
- Genymotion无法启动虚拟机的问题解决办法
- java https连接以及乱码问题解决办法
- redis 连接报错
- ora-01536报错问题解决办法
- 调试xcode项目报错问题解决办法
- 【坑爹微信】总有一款接口能坑你到吐血 --- 微信开发经验录
- PHP flush 失效问题 (实时显示)
- 安装软件:/lib/ld-linux.so.2: bad ELF interpreter 解决
- 不能修改"System Roots" 钥匙串
- Java随机生成身份证号码
- Java连接虚拟机的redis报错问题解决办法
- 图片转视频
- ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements。
- 剑指offer 6---由前序遍历和中序遍历重建二叉树
- Git和SVN的区别
- FreeRTOS高级篇5---FreeRTOS队列分析
- 使用JAVA写的一个简易通讯程序(一)
- 开发日志记录工具log4j
- ML605网口+UDP协议