我在 Windows 7 主机上的 VirtualBox 上设置了 Ubuntu 映像。在 Ubuntu 客户机上,我安装了 Redis,它默认在端口 6379 (TCP) 上运行。
我已经使用 VirtualBox GUI 为 SSH 设置了端口转发,并通过连接到 localhost:2222 验证连接已正确转发到端口 22 并且 SSH 可以正常工作。
但是,当我完成端口 6379 的相同设置时,在连接端口 30000(设置为转发到 6379)时出现“telnet:无法连接到远程主机:连接被拒绝”错误。
为了验证 Redis 是否运行正常,我验证了我可以使用端口 6379(telnet localhost 6379)在本地(通过客户机上的命令行)连接到 Redis,并成功对其运行命令。
我有点不明白为什么会发生这种情况。任何意见都很好。
答案1
找到 redis.conf 文件并注释掉 Bind 127.0.0.1 行。大多数开箱即用的安装都只有本地连接接口。一旦注释掉该行并重新启动 redis 服务器,您将能够连接,前提是没有其他防火墙阻止您进入
在 Ubuntu Linux 上,您可以转到位置 /etc/init.d 并发出此命令来重新启动 redis 服务器。
sudo ./redis-server restart
或者
sudo /etc/init.d/redis-server restart
答案2
检查你的/etc/redis/redis.conf
,并确保更改默认值:
bind 127.0.0.1
到
bind 0.0.0.0
然后重新启动您的服务:
sudo /etc/init.d/redis restart
现在,你可以使用以下命令检查 redis 是否正在监听非本地接口:
redis-cli -h 192.168.x.x ping
如果你明白了PONG
就好了。
答案3
在 Redis 配置文件下:
/etc/redis/redis.conf
更改以下内容:
bind 127.0.0.1 ::1
替换为以下内容:
0.0.0.0
保存文件
从另一台 PC/服务器尝试以下命令:
redis-cli -h x.x.x.x -p 6379
其中 xxxx 替换为您的服务器 IP