解决本地项目连接虚拟机redis进程失败【Failed connecting to host 6379】

当遇到Redis连接失败的问题,通常涉及Redis配置、保护模式、虚拟机端口开放等多个方面。解决步骤包括修改Redis监听端口、取消保护模式、开放虚拟机防火墙端口、通过配置文件启动Redis,并确保客户端使用正确IP和端口进行连接。务必注意,启动Redis时需使用更新后的配置文件,否则可能导致连接失败。

跑之前的一个项目,发现redis连接失败了…


原因:

虚拟机的redis没开放,太“保守”了

解决步骤:

1、修改redis监听的网络端口
2、取消redis的保护模式
3、开放虚拟机端口
4、通过配置文件启动redis
5、客户端通过指定IP和端口号进行连接

误区

不通过修改后的配置文件启动redis

一、修改redis监听的网络端口

# 不指定bind的话redis将会监听所有网络接口。这个配置是肯定需要指定的。
# Examples:
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
# 下面这个配置是只允许本地客户端访问。
bind 127.0.0.1 # 如果你要换IP就bind其它IP

二、取消redis的保护模式

将protected-mode设置为no

# 是否开启保护模式。默认开启,如果没有设置bind项的ip和redis密码的话,服务将只允许本地访问。
protected-mode yes

三、开放虚拟机端口

输入firewall-cmd --query-port=6379/tcp

如果返回结果为no,那么证明6379端口确实没有开启

输入firewall-cmd --add-port=6379/tcp,将6379端口开启,返回success

也通过指令查看开放的端口:firewall-cmd --zone=public --list-ports

四、通过配置文件启动Redis

查看conf配置文件的地址:比如 /etc/redis/6379.conf
通过配置文件启动redis

[root@csnz redis]# redis-server /etc/redis/6379.conf

在这里插入图片描述

五、客户端通过指定IP和端口号进行连接

redis-cli -h 主机ip -p 端口号

[root@csnz ~]# redis-cli -h 192.168.128.128 -p 6379

在这里插入图片描述

六、误区【不通过修改后的配置文件启动redis】

在这里插入图片描述

[root@csnz redis]# redis-cli -p 6379
Could not connect to Redis at 127.0.0.1:6379: Connection refused
IntelliJ IDEA连接虚拟机Redis失败,可以按照以下方法解决1. **检查Redis是否启动**:在虚拟机中使用`ps -ef |grep redis`命令查看Redis是否真正启动[^1]。 2. **配置Redis配置文件**:进入虚拟机,打开Redis所在目录,找到Redis配置文件`redis.conf`。注释掉`bind 127.0.0.1`,`bind`用于指定本机网卡IP,`bind 0.0.0.0`允许任何IP请求Redis服务;将保护模式关闭,把`protected - mode yes`改为`protected - mode no`;打开守护模式,使Redis虚拟机不关机的情况下一直后台运行。设置完成后,使用`redis - server`载入`redis.conf`配置文件来启动Redis[^2]。 3. **检查防火墙状态**:若按上述步骤操作仍有问题,考虑是否开启了防火墙。对于CentOS 7系统,可使用`systemctl stop firewalld.service`停止防火墙,使用`systemctl disable firewalld.service`禁止防火墙开机自启,使用`firewall - cmd --state`查看防火墙状态[^2]。 4. **检查网络连通性**:如果主机可以ping通虚拟机,说明虚拟机软件的安装和配置没问题,问题可能在虚拟机内部;若不能ping通虚拟机,可能需要重新安装VMware[^3]。 5. **处理特定报错**:若出现`Failed to configure a DataSource: ‘url‘ attribute is not specified and no...`报错,有以下解决方案:移除含有`spring - boot - starter - jdbc`的依赖;若需要用到数据库,在配置文件中对`datasource`的四个参数进行配置;在`yaml`文件中添加自动配置`spring: autoconfigure: exclude: org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration`[^4]。 ### 代码示例 在IDEA中新建Maven项目,导入Jedis依赖,在`pom.xml`中添加如下代码: ```xml <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.7.0</version> </dependency> ``` 新建测试文件,代码示例如下: ```java import redis.clients.jedis.Jedis; public class RedisTest { public static void main(String[] args) { // 根据虚拟机IP地址和Redis端口号(默认6379)进行设置 Jedis jedis = new Jedis("虚拟机IP地址", 6379); String result = jedis.ping(); System.out.println(result); jedis.close(); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值