问题:远程连接Redis失败一直提示timeout

redis read time out redis read time out解决方法_数据库


1、服务器上配置的Redis设置了外网访问(bind 127.0.0.1替换成bind 0.0.0.0)且关闭了保护模式(protected-mode no)默认其他配置

redis read time out redis read time out解决方法_配置文件_02


2、启动后通过本地redis-cli正常访问和操作

1)启动

redis-server

redis read time out redis read time out解决方法_配置文件_03

2)本地客户端连接

redis-cli

redis read time out redis read time out解决方法_数据库_04


2、用Redis Desktop Manager远程连接一直报错(见开头),开始以为是软件的问题,又安装了win的redis-cli结果也是一样。最后直接在win装上redis服务,本地连接均正常。

redis read time out redis read time out解决方法_nosql_05


1)检查防火墙(最早就排查过几次了),网上一大把带过…

firewald start firewald.serivce #开启
firewall-cmd --add-port=6379/tcp --permanent #开放端口 permanent 永久开放
firewall-cmd --query-port=6379/tcp	#查看6379是否正常开启
firewald stop firewald.serivce	#关闭

2)是不是本地连不上这个端口(xshell可以连上服务器的22端口),cmd用Telnet测试端口

telnet 192.168.xxx.xxx 6379 #6379固定端口 至于Telnet不是内部命令的原因是禁用了 开启方法百度

结果就是这个连不上!提示主要信息是保护模式的问题,但是这个在配置文件里一开始就改了甚至重启了好多次服务,服务器都重启了几次,而且只有一个配置文件。
原因和办法:
1)原本解压的位置是/usr/local/src/redis 配置文件也在redis里面,解压后执行安装命令,没有指定目录,系统自动装到了默认路径下并配置了全局的环境,只要输入redis-server就可以启动(我一直是用这种方式),应该是这个原因没有让文件生效。

redis make install

2)知道是文件没生效之后我的第一反应就是命令行让他生效再说,本机的redis-cli连接后用以下命令设置了保护模式为no(实际配置文件里面也是no不生效)

CONFIG SET PROTECTED-MODE NO

启动的时候指定文件应该也是可以的,就不需要先在本机手动set

redis-server /usr/local/src/redis-6.2.7/redis.conf

redis read time out redis read time out解决方法_redis read time out_06