[英]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 地址。
$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。
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
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 service redis-server restart
就是这样,你应该能够从你的主机连接到你的 Homestead redis。
redis-cli -h 192.168.10.10
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.