文章目录
- 案发现场:
- 机器配置:
-
- 1.查看安装RedisDesktopManager的机器是否能ping通Redis的机器。
- 2.查看安装Redis的机器防火墙是否关闭
- Redis配置
-
- 1.配置bind
- 2.安全模式
- 指定配置文件,重启Redis(一定要重启)
- 相关链接
案发现场:
今天早晨用RedisDesktopManager连接Redis失败,发现连接不上,历经了千辛万苦,终于找到了问题所在。
机器配置:
1.查看安装RedisDesktopManager的机器是否能ping通Redis的机器。
注:我的redis的机器的地址是:192.168.56.104
如何查看安装Redis机器的地址呢?
因为Linux会有很多个网卡,需要找到和自己虚拟机连接的网卡的ip地址。最简单的方式就是在Linux中输入命令
ip addr
然后把所有的ip地址都ping一遍。
命令:
# ip即为你安装Redis的机器的ip地址
ping #{ip}
2.查看安装Redis的机器防火墙是否关闭
- 因为Redis默认的端口号是6379,如果使用者没有修改配置文件,则开启6379端口即可。
如何查看我有没有修改过端口呢?
找到Redis机器中Redis的配置文件:redis,conf:强烈建议复制出来一个配置文件:redis.conf,因为修改错误,可能会会出现意想不到的麻烦.
内容
# Accept connections on the specified port, default is 6379 (IANA #815344).
# If port 0 is specified Redis will not listen on a TCP socket.
翻译
接受指定端口上的连接,默认为6379 (IANA #815344)。
# If port 0 is specified Redis will not listen on a TCP socket.
所以port 后面的数字就是端口号。
然后执行下面的命令,查看端口号的方式请看上面。
firewall-cmd --query-port=6379/tcp
- 如果返回yes,就直接跳过这一步,直接进入redis配置
- 如果返回no,就证明6379这个端口没有打开。执行下面的命令
[root@linux~]#firewall-cmd --add-port=6379/tcp
- 如果返回success,证明这个端口号已经打开,然后再执行下面的命令。
firewall-cmd --query-port=6379/tcp
- 此时就应该返回yes,证明6379这个端口打开了。
我们进行完了机器的配置,接下来,我们要进行Redis配置文件的配置。
Redis配置
1.配置bind
大概翻译:
默认情况下,如果没有指定“绑定”配置指令,Redis监听服务器上所有可用网络接口的连接。可以使用“bind”配置指令监听一个或多个选择的接口,后面跟着一个或多个IP地址。
需要注意的是:
~警告~如果计算机运行Redis是直接暴露在,在internet上,绑定到所有接口是危险的,并将暴露
给互联网上的每个人。举个例子。默认情况下,我们取消注释,遵循bind指令,这将迫使Redis只监听,IPv4环回接口地址(这意味着Redis将能够只接受来自运行到同一计算机的客户端的连接正在运行)。
所以说,如果大家是学习使用,那么可以将这个注释掉。警告!!如果将Redis映射到Internet是非常危险的。就像上面配置文件的翻译这样说。
2.安全模式
翻译:
在互联网上开放的Redis实例被访问和利用。
当保护模式是开启,如果:
1)服务器没有使用“bind”指令显式地绑定到一组地址。
2)没有配置密码。服务器只接受来自客户端的连接,这些连接来自IPv4和IPv6环回地址127.0.0.1和::1,以及Unix域套接字。
默认保护模式是启用的。你应该禁用它,只有当你确定你想要客户从其他主机连接到Redis,即使没有身份验证配置,也没有一个特定的接口设置明确列出使用“绑定”指令。
解决方案:
将yes改成no,因为我已经修改过了,所以是yes
指定配置文件,重启Redis(一定要重启)
ps -aux | grep redis
- 2199 是进程号,杀掉这个进程。
sudo kill -9 2199
然后重启:
[root@localhost /]# /usr/local/bin/redis-server /myredis/redis.conf
[root@localhost /]# /usr/local/bin/redis-cli -p 6379
注意 : /myredis/redis.conf是我配置文件的位置。
这个问题困扰了我一上午,都配置好了,都不行,最好请来了运维大佬给我解决了,我的问题是配置好以后,redis并没有真正意义上的重启。
相关链接
·使用RedisDesktopManager客户端无法连接Redis服务器问题解决办法