Linux安装redis,redis无法连接问题总结

本文介绍了在CentOS7上安装Redis后,SpringBoot项目集成Redis遇到的连接超时问题及其解决方案。问题源于Redis的保护模式、防火墙配置和网络设置。解决方法包括关闭Redis的保护模式、配置防火墙打开6379端口、以及设置Redis密码。通过修改Redis配置文件、重启服务和调整防火墙规则,最终成功解决了远程连接问题。

虚拟机(centos7)安装redis
请移步:https://blog.youkuaiyun.com/ITxiaofeixiang/article/details/111390055

问题描述

Resolved [redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool]

springboot项目集成redis测试,出现连接超时问题等。

前提

host和port设置都没问题。
虚拟机(centos7)配置了固定ip,可以ping通本地(win10)ip。

解决思路

1.看本地网络

win10 ping 虚拟机,发现ping不通了。
在这里插入图片描述
突然想到之前虚拟网卡被我禁用了,
在这里插入图片描述
启动,ping通!但是项目还是连接不上redis。

2.看虚拟机网络

查看防火墙状态(开的):
在这里插入图片描述
查看开放端口:
在这里插入图片描述
发现空的,说明6379端口并未开放。
A.开放6379端口:

firewall-cmd --zone=public --add-port=3338/tcp --permanent

B.重启防火墙

# 开机启动
systemctl enable firewalld
# 重启
systemctl restart firewalld
# 关闭
systemctl stop firewalld
# 开启
systemctl start firewalld
# 查看状态
systemctl statusfirewalld

测试,发现错误:

Resolved [redis.clients.jedis.exceptions.JedisDataException: DENIED
Redis is running in protected mode because protected mode is enabled,
no bind address was specified, no authentication password is requested
to clients.
解释:
protected-mode是redis本身的一个安全层,这个安全层的作用:就是只有【本机】可以访问redis,其他任何都不可以访问redis。这个安全层开启必须满足三个条件,不然安全层处于关闭状态:

(1)protected-mode yes(处于开启)

(2)没有bind指令。原文:The server is not binding explicitly to a set of
addresses using the “bind” directive.

(3)没有设置密码。原文:No password is configured。

这时redis的保护机制就会开启。开启之后,只有本机才可以访问redis。 如果上面三个条件任何一个不满足,就不会开启保护机制。

那么关闭保护模式就有三种办法了:
解决:
1.关闭保护模式
redis.config中的protected-mode yes 改为no
在这里插入图片描述
2.使用bind属性
重点,关于bind属性配置理解:
是绑定本机的IP地址,(准确的是:本机的网卡对应的IP地址,每一个网卡都有一个IP地址),而不是redis允许来自其他计算机的IP地址。并且设置bind是非本机网卡地址,是会启动失败的。
所以:

肯定是不能设置127.0.0.1得啦,那么就只允许使用本机访问了。
使用bind 0.0.0.0(接收所有) 这种也可以打破保护模式。

3.设置密码
你们自己设了哈,我就不测试了。请百度

参考链接;
https://blog.youkuaiyun.com/cw_hello1/article/details/83444013

### 安装 Redis连接到本地服务 #### 准备工作 在 Linux安装 Redis 建议将其放置于 `/usr/local` 目录下以便统一管理和维护[^1]。以下是具体的操作流程。 --- #### 下载与解压 Redis 文件 可以通过官方或其他可信渠道获取 Redis 的压缩,并上传至虚拟机的指定路径(如 `/opt` 或其他自定义目录)。如果使用百度网盘下载,则可以参考提供的链接和提取码完成文件下载[^3]。 随后执行以下命令进行解压: ```bash tar zxvf redis-*.tar.gz cd redis-* ``` 上述命令将解压 Redis 源代码并进入其所在目录。 --- #### 编译与安装 编译 Redis 需要依赖 `make` 工具链,因此需确认系统已安装 GNU Make 和 GCC 开发环境。之后运行如下指令来构建可执行程序以及安装它到目标位置: ```bash make && make install PREFIX=/usr/local/redis ``` 这一步骤会把核心组件复制到设定好的前缀路径里去。 --- #### 修改配置文件 启动之前先调整好适合生产使用的参数设置。打开位于源码树下的默认模板文件 `redis.conf` ,找到关于绑定地址的部分修改成监听所有网络接口或者仅限本机回环适配器即可满足基本需求: ```conf bind 127.0.0.1 ::1 # 如果希望外部也能访问则改为 bind 0.0.0.0 protected-mode no # 关闭保护模式以支持远程客户端接入[^4] port 6379 # 设置端口号,默认为6379无需改动除非有冲突情况发生 daemonize yes # 设定守护进程方式运行从而后台处理请求流量 logfile "/var/log/redis.log" # 日志记录保存地点可以根据实际状况更改存储介质类型 dir /data # 数据持久化的基础目录同样推荐单独挂载SSD硬盘分区提升性能表现 ``` 以上各项均按照个人偏好定制化后存档退出编辑状态。 --- #### 启动 Redis Server 当一切准备就绪以后就可以正式开启服务啦! ```bash /usr/local/redis/bin/redis-server /path/to/your-modified-config-file.conf ``` 这里务必指明刚才精心调校过的那份个性化版面哦!这样就能确保所有的特性都能正常发挥作用了[^2]。 --- #### 测试连接性 最后验证一下能否顺利连上刚刚搭建起来的新实例吧~ ```bash /usr/local/redis/bin/redis-cli ping # 应该返回 PONG 表示握手成功 ``` 假如遇到任何异常提示消息的话,请仔细检查前面每一步是否有遗漏之处再重新尝试一遍直至完全解决为止。 --- ### 使用 RDM 图形界面工具连接 对于喜欢敲打繁琐命令行的朋友来说还可以借助第三方开发出来的可视化管理平台比如 **Redis Desktop Manager (简称RDM)** 来简化日常运维管理工作流效率更高也更直观易懂些。只需输入对应主机名/IP 地址加上相应的认证凭据便能轻松实现跨平台无缝衔接体验效果极佳值得拥有! ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值