【问题标题】:Laravel Homestead Redis Port ForwardingLaravel Homestead Redis 端口转发
【发布时间】:2015-09-22 08:07:46
【问题描述】:

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

嗯,我也试过了,重启了服务器,还是不行。

我错过了什么吗?

【问题讨论】:

  • 你不需要端口转发就能连接到 Homestead 上的 Redis 服务器。

标签: php laravel redis vagrant homestead


【解决方案1】:

对于 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。

【讨论】:

  • 好东西!!
  • 我发现你现在需要使用 /etc/hosts 文件中指定的 IP 地址,而不是 Homestead.yaml 文件中指定的 IP 地址,而不是使用 192.168.10.10。对我来说,IP 地址是 10.211.55.5。
  • 随着新的 Laravel Homestead 9.0.1 这个问题出现了。在 Laravel Homestead 中遵循这些步骤就可以了……但我不知道为什么电子邮件验证开始向我的电子邮件陷阱帐户发送大量电子邮件:/
  • 你是救命稻草!我在我的计算机上寻找 /etc/redis/redis.conf 文件,而不是在 vagrant 安装中。读了你的回答后,我突然意识到我犯了这个错误。现在我的缓存工作并清除了;)
【解决方案2】:

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

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

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

【讨论】:

  • 这对我有用(Windows 10,宅基地 v5),但我也必须设置 protected-mode no
【解决方案3】:

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

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

【讨论】:

  • 像魅力一样工作!我刚刚在 Laravel 的文档中打开了一个 pull request 来添加您连接到 Redis 的说明。
  • 我认为最新的宅基地 VM 不再是这种情况了——看来 redis 现在只监听 127.0.0.1。所以,回到端口转发。
【解决方案4】:
  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 service redis-server 重启

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

redis-cli -h 192.168.10.10

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 2014-12-04
    • 2021-10-02
    • 2012-01-12
    相关资源
    最近更新 更多