2015-07-04 17 views
5

Ich habe Probleme, hier eine Verbindung zu meinem lokalen Homestead Redis Server herzustellen. Ich benutze sowohl Kommandozeile (Redis-Cli) und RDM.Laravel Homestead Redis Port Forwarding

ich in der Lage bin mit Postgresql mit PgAdmin in dieser Box zu verbinden, aber Redis kehrt mit:

nicht zu Redis bei 127.0.0.1:63790 verbinden kann: Verbindung

verweigerte Meine Redis config file "bind" -Direktive ist kommentiert, also sollte es Verbindungen von allen Quellen akzeptieren. Ich habe auch versucht, Redis zu stoppen und es erneut zu starten, manuell auf die Konfigurationsdatei zeigend, aber ohne Erfolg.

In meiner Konfigurationsdatei Homestead.yaml wurde der Redis-Port standardmäßig nicht weitergeleitet. Nach Homestead Documentation, kann ich die Portweiterleitung wie folgt festgelegt:

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

Nun, ich habe auch versucht, dass und den Server neu gestartet, aber es hat nicht funktioniert.

Fehle ich etwas?

Antwort

3

Entfernen Sie die Einstellungen der Ports von Ihrem Homestead.yaml Sie werden es nicht brauchen.

jetzt standardmäßig redis in Heimstätte vm auf seinem normal Port abhört, 6379.

Sie können in Ihre vm ssh und es überprüfen:

 
[email protected]:~$ ps -aux | grep redis 
redis  996 0.1 0.4 35232 8752 ?  Ssl 01:53 0:00 /usr/bin/redis-server *:6379 

auf den VMs redis Instanz Um eine Verbindung von Ihrem lokalen Computer müssen Sie eine IP-Adresse verwenden, die in Ihrem Homestead.yaml angegeben ist. Standardmäßig ist es 192.168.10.10:

redis-cli -h 192.168.10.10 

Wenn Sie Domain-Namen einrichten in Ihrem lokalen /etc/hosts für Ihre Anwendung können Sie es stattdessen:

redis-cli -h homestead.app 
+0

Funktioniert wie ein Charme! Ich habe gerade eine [pull request] (https://github.com/laravel/docs/pull/1670) in Laravels Dokumenten geöffnet, um Ihre Anweisungen zur Verbindung mit Redis hinzuzufügen. –

+2

Ich glaube nicht, dass dies mit der neuesten Homestead-VM nicht mehr der Fall ist - es scheint, dass Redis nur noch auf 127.0.0.1 hört. Also zurück zur Portweiterleitung ist es. –

23

Für Homestead 0.4 oben. Aufgrund der Redis-Sicherheitseinstellung bindet es nur für 127.0.0.1

In diesem Fall müssen Sie eine zusätzliche IP-Adresse binden.

  1. SSH zu Ihrem Server.

$sudo vi /etc/redis/redis.conf

Blättern Sie zu der Linie bind 127.0.0.1 zusätzliche IP-Adresse 192.168.10.10 hinzufügen, wird es wie dieses

bind 127.0.0.1 192.168.10.10

aussehen speichern und zu beenden.

  1. Server neu starten und Server beenden.

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

das alles ist, sollten Sie in der Lage sein, Ihre Homestead redis von Ihrem Host zu verbinden.

+0

Vielen Dank! – Till

+0

Super Zeug !! –

+0

Ich habe festgestellt, dass Sie anstelle von 192.168.10.10 nun die in Ihrer Datei/etc/hosts angegebene IP-Adresse anstelle der IP-Adresse verwenden müssen, die in Ihrer Datei Homestead.yaml angegeben ist. Für mich war diese IP-Adresse 10.211.55.5. –

2

SSH an die Maschine und öffnen /etc/redis/redis.conf.

Suchen Sie Zeile, die mit bind Anweisung beginnt, kommentieren Sie es aus und speichern Sie die Datei. Starten Sie dann den Redis-Server mit sudo /etc/init.d/redis-server restart neu.

Dank Redis wird für alle Verbindungen von allen verfügbaren Schnittstellen zuhören. Sie benötigen keine zusätzliche Portweiterleitung.

+1

Dies funktionierte für mich (Windows 10, Homestead V5), aber ich musste auch 'Protected-Mode no' einstellen. –

Verwandte Themen