我在尝试远程连接到我当地的Homestead Redis服务器时遇到了一些麻烦。我正在使用命令行(redis-cli)和RDM。
我可以在此框中使用PgAdmin连接Postgresql,但Redis返回:
无法在127.0.0.1:63790连接到Redis:拒绝连接
我的Redis配置文件“bind”指令已被注释,因此它应接受来自所有源的连接。我还尝试停止Redis并再次启动它,手动指向配置文件,但没有成功。
在我的Homestead.yaml配置文件中,默认情况下不会转发Redis端口。根据Homestead的Documentation,我可以像这样设置端口转发:
ports:
- send: 63790
to: 6379
protocol: udp
好吧,我也尝试过并重新启动了服务器,但它没有用。
我错过了什么吗?
答案 0 :(得分:28)
对于Homestead 0.4以上。由于redis安全设置,它仅绑定127.0.0.1
在这种情况下,您需要绑定额外的IP地址。
$sudo vi /etc/redis/redis.conf
滚动到第bind 127.0.0.1
行
添加额外的IP地址192.168.10.10,它将如下所示
bind 127.0.0.1 192.168.10.10
保存并退出。
$sudo /etc/init.d/redis-server restart
总而言之,您应该可以从主机连接到您的Homestead redis。
答案 1 :(得分:5)
通过SSH连接到计算机并打开/etc/redis/redis.conf
。
查找以bind
指令开头的行,将其注释掉并保存文件。
然后使用sudo /etc/init.d/redis-server restart
重新启动redis-server。
感谢Redis将侦听来自所有可用接口的所有连接。您不需要任何额外的端口转发。
答案 2 :(得分:3)
从您不想要的Homestead.yaml
中移除端口设置。
现在默认情况下,hometead vm中的redis正在侦听其正常端口6379。
你可以ssh进入你的虚拟机并检查它:
vagrant@homestead:~$ ps -aux | grep redis redis 996 0.1 0.4 35232 8752 ? Ssl 01:53 0:00 /usr/bin/redis-server *:6379
要从本地计算机连接到vm的redis实例,您需要使用Homestead.yaml
中指定的IP地址。默认情况下为192.168.10.10
:
redis-cli -h 192.168.10.10
如果您的应用在本地/etc/hosts
设置了域名,则可以使用它:
redis-cli -h homestead.app
答案 3 :(得分:1)
SSH到您的服务器。
$ sudo vi /etc/redis/redis.conf
滚动到bind 127.0.0.1 and change to 0.0.0.0
行,看起来像这样
bind 0.0.0.0
保存并退出。
重新启动Redis服务器并退出服务器。
$ sudo服务redis服务器重启
仅此而已,您应该可以从主机连接到Homestead Redis。
redis-cli -h 192.168.10.10