CentOS7中的Redis连不上主机
是否ping通
先尝试主机是否能Ping通虚拟机
虚拟机中查看ens33
对应的地址,使用ifconfig
再在主机上尝试Ping,如果无法Ping通,先排除是否是虚拟机NAT或者桥接模式配置的问题
redis.conf配置
我是按照黑马的教程安装的Redis,所以资源是在/usr/local/src/redis-6.2.6
目录下,要修改这个目录下的redis.conf
配置信息
# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes
# 密码,设置后访问Redis必须输入密码
requirepass 123321
#关闭保护模式
protected-mode no
6379端口开启
然后使用查看默认使用的6379端口是否开启
6379端口是否开启
firewall-cmd --query-port=6379/tcp 如果是no则没有开启
firewall-cmd --zone=public --add-port=6379/tcp --permanent 永久开启端口
以修改好的配置文件重新启动redis
在/usr/local/bin
下使用redis-cli
的shutdown
命令
使用Java连接虚拟机中的Redis
导入依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.6.0</version>
</dependency>
Java:
import redis.clients.jedis.Jedis;
public class RedisTest {
public static void main(String[] args) {
Jedis jedis = new Jedis("192.168.59.128", 6379);
jedis.auth("123369");
System.out.println(jedis.ping());
}
}
使用Another Redis Desktop Manager连接
没有弹错误提示窗口或者能看到存储内容,就是连接成功了
也可以尝试关闭防火墙,看是否能连接上
注意虚拟机中的ip地址会经常变换,连接前看看地址是否正确
常用的命令
黑马教程中查看redis的状态
systemctl status redis
查看redis运行进程
ps -ef | grep redis
查看防火墙的状态
systemctl status firewalld
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
防火墙自启
systemctl enable firewalld.service