原因1 :redis服务端口(默认6379)没有对外开发,被防火墙拦截了

            其实很多远程无法访问的情况都是由于端口没有对外开放造成成,如你要访问部署在阿里云上的mysql时,需要到阿里云的控制台开放对应的端口(默认为3306) 

原因2:redis本身默认设置不允许外网访问,需要修改配置文件

 

本人使用的Linux系统是Centos 7  64位

 

针对原因1的解决方案是:

开放端口,我启动redis使用redis默认的端口6379,如果你启动redis时修改过端口,则需要根据你实际的端口进行设置

步骤:

1  切换到root用户,并输入命令:firewall-cmd --query-port=6379/tcp  确认端口是否开放

redis 不允许远程连接 redis远程连接不上_redis 不允许远程连接

从上图中返回no可以看出,端口6379并没有对外开放

2  输入命令: firewall-cmd --get-active-zones  拿到zone名称

redis 不允许远程连接 redis远程连接不上_redis_02

3  输入命令:firewall-cmd --zone=public --add-port=6379/tcp --permanent,永久开放6379端口

redis 不允许远程连接 redis远程连接不上_远程连接_03

4 输入命令:firewall-cmd --reload ,重启防火墙

redis 不允许远程连接 redis远程连接不上_失败_04

5 再次查看端口是否开放了:firewall-cmd --query-port=6379/tcp

redis 不允许远程连接 redis远程连接不上_远程连接_05

可以看到返回yes,表明端口开放成功

 

 

 

原因2的解放方案:

1  先关掉redis服务(如果开着的话)

1.1 输入命令:ps -aux |grep redis ,拿到redis的进程号

redis 不允许远程连接 redis远程连接不上_redis_06

从上图可以看出,我的redis的进程号为7277,你的一般都不会和我的相同

1.2   根据进程号7277,关闭redis

redis 不允许远程连接 redis远程连接不上_远程连接_07

2  修改配置文件,如配置文件名名称为redis.conf(没修改过就是这个名称),如下:

(1)修改redis.conf 文件,把bind 127.0.0.1这一行注释掉。

(2)修改redis.conf 文件,protected-mode 要设置成no

3 以该配置文件启动redis

redis 不允许远程连接 redis远程连接不上_redis_08