Laravel Homestead Redis 端口转发

Laravel Homestead Redis Port Forwarding

我在尝试远程连接到本地 Homestead Redis 服务器时遇到了一些问题。我同时使用命令行 (redis-cli) 和 RDM.

我可以在此框中使用 PgAdmin 连接 Postgresql,但 Redis returns 连接:

Could not connect to Redis at 127.0.0.1:63790: Connection refused

我的 Redis 配置文件 "bind" 指令已被注释,因此它应该接受来自所有来源的连接。我也试过停止Redis并重新启动它,手动指向配置文件,但没有成功。

在我的 Homestead.yaml 配置文件中,默认情况下没有转发 Redis 端口。根据 Homestead 的 Documentation,我可以这样设置端口转发:

ports:
    - send: 63790
      to: 6379
      protocol: udp

好吧,我也试过了,重启了服务器,但是没用。

我是不是漏掉了什么?

从您的 Homestead.yaml 中删除您不需要的端口设置。

现在默认情况下,homestead 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

要从本地计算机连接到虚拟机的 redis 实例,您需要使用在 Homestead.yaml 中指定的 IP 地址。默认情况下是 192.168.10.10:

redis-cli -h 192.168.10.10

如果您在本地 /etc/hosts 为您的应用设置了域名,您可以改用它:

redis-cli -h homestead.app

对于上面的 Homestead 0.4。由于 redis 安全设置,它只绑定 127.0.0.1

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

  1. 通过 SSH 连接到您的服务器。

$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服务器并退出你的服务器。

$sudo /etc/init.d/redis-server restart

就是这样,您应该能够从您的主机连接到您的 Homestead redis。

SSH 到机器并打开 /etc/redis/redis.conf

找到以bind 指令开头的行,将其注释掉并保存文件。 然后用sudo /etc/init.d/redis-server restart.

重启redis-server

感谢 Redis 将侦听来自所有可用接口的所有连接。您不需要任何额外的端口转发。

  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