无法连接到安装在从 Windows 7 运行 Ubuntu 的 VirtualBox 上的 Redis

mep*_*-um 8 ubuntu windows-7 virtualbox connection redis

我已经在 Windows 7 主机上的 VirtualBox 上设置了一个 Ubuntu 映像。在 Ubuntu 客户机上,我安装了默认在端口 6379 (TCP) 上运行的 Redis。

我已经使用 VirtualBox GUI 为 SSH 设置了端口转发,并验证了通过连接到 localhost:2222 连接正确转发到端口 22 并且 SSH 工作。

但是,当我为端口 6379 完成相同的设置时,在连接端口 30000(设置为转发到 6379)时出现“telnet:无法连接到远程主机:连接被拒绝”错误。

为了验证 Redis 是否正确运行,我验证了我可以使用端口 6379(telnet localhost 6379)在本地(通过来宾计算机上的命令行)连接到 Redis 并成功对其运行命令。

对于为什么会发生这种情况,我有点不知所措。任何输入都会很棒。

小智 10

找到您的 redis.conf 文件并注释掉读取 Bind 127.0.0.1 的行。大多数开箱即用的安装只有本地连接除外的接口。一旦您将其注释掉并重新启动 redis 服务器,假设没有其他防火墙阻止进入,您将能够连接

在 Ubuntu Linux 上,您可以转到位置 /etc/init.d 并发出此命令以重新启动 redis 服务器。

sudo ./redis-server restart
Run Code Online (Sandbox Code Playgroud)

或者

sudo  /etc/init.d/redis-server restart
Run Code Online (Sandbox Code Playgroud)


小智 8

检查您的/etc/redis/redis.conf,并确保更改默认值:

bind 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

bind 0.0.0.0
Run Code Online (Sandbox Code Playgroud)

然后重启你的服务:

sudo /etc/init.d/redis restart
Run Code Online (Sandbox Code Playgroud)

然后,您现在可以使用以下命令检查 redis 是否正在侦听非本地接口:

redis-cli -h 192.168.x.x ping
Run Code Online (Sandbox Code Playgroud)

如果你得到PONG它就可以了。