Laravel Homestead Redis Port Forwarding

时间:2015-07-04 19:38:18

标签: php laravel redis vagrant homestead

我在尝试远程连接到我当地的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

好吧,我也尝试过并重新启动了服务器,但它没有用。

我错过了什么吗?

4 个答案:

答案 0 :(得分:28)

对于Homestead 0.4以上。由于redis安全设置,它仅绑定127.0.0.1

在这种情况下,您需要绑定额外的IP地址。

  1. SSH到您的服务器。
  2. $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

    保存并退出。

    1. 重新启动redis服务器并退出服务器。
    2. $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)

  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

保存并退出。

  1. 重新启动Redis服务器并退出服务器。

    $ sudo服务redis服务器重启

仅此而已,您应该可以从主机连接到Homestead Redis。

redis-cli -h 192.168.10.10