繁体   English   中英

Laravel Homestead Redis 端口转发

[英]Laravel Homestead Redis Port Forwarding

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

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

无法在 127.0.0.1:63790 连接到 Redis:连接被拒绝

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

在我的 Homestead.yaml 配置文件中,Redis 端口默认不转发。 根据 Homestead's Documentation ,我可以像这样设置端口转发:

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

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

我错过了什么吗?

对于 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指令开头的行, bind其注释掉并保存文件。 然后使用sudo /etc/init.d/redis-server restart启动 redis-server。

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

从你不需要的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

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

redis-cli -h 192.168.10.10

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

redis-cli -h homestead.app
  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 restart

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

redis-cli -h 192.168.10.10

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM