2015-07-04 10 views
5

Mam tu problem, próbując zdalnie połączyć się z moim lokalnym serwerem Homestead Redis. Używam zarówno linii poleceń (redis-cli) i RDM.Laravel Homestead Redis Port Forwarding

jestem w stanie połączyć się z PostgreSQL z pgAdmin w tym polu, ale Redis powraca z:

nie można połączyć się z Redis w 127.0.0.1:63790: Connection refused

My Dyrektywa "bind" pliku konfiguracyjnego Redisa jest komentowana, więc powinna akceptować połączenia ze wszystkich źródeł. Próbowałem również zatrzymać Redis i uruchomić go ponownie, ręcznie wskazując na plik konfiguracyjny, ale bez powodzenia.

W moim pliku konfiguracyjnym Homestead.yaml, port Redis nie był domyślnie przekazywany. Według Homestead Documentation, mogę ustawić przekierowanie portu tak:

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

Cóż, próbowałem też, że i ponownym uruchomieniu serwera, ale to nie działa.

Czy brakuje mi czegoś?

Odpowiedz

3

Usunąć ustawienia portów ze swojego Homestead.yaml, których nie potrzebujesz.

Teraz domyślnie REDiS w Homestead VM nasłuchuje na swoim normalnym porcie 6379.

można ssh do swojego VM i sprawdzić go:

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

Aby połączyć się z VM Redis przykład ze swojego na komputerze lokalnym musisz użyć adresu IP podanego w numerze Homestead.yaml. Domyślnie jest to 192.168.10.10:

redis-cli -h 192.168.10.10 

Jeśli masz nazwę domeny skonfigurować w lokalnej /etc/hosts do aplikacji można go używać zamiast:

redis-cli -h homestead.app 
+0

Działa jak urok! Właśnie otworzyłem [polecenie ściągnięcia] (https://github.com/laravel/docs/pull/1670) w dokumentach Laravel, aby dodać twoje instrukcje, aby połączyć się z Redis. –

+2

Nie wydaje mi się, żeby tak było w przypadku najnowszej maszyny wirtualnej Homestead - wydaje się, że redis teraz słucha tylko 127.0.0.1. Więc wracamy do przekierowania portów. –

23

Dla Homestead 0.4 powyżej. Z powodu ustawienia zabezpieczeń redis, wiąże on tylko 127.0.0.1

W tym przypadku musisz powiązać dodatkowy adres IP.

  1. Serwer SSH dla Ciebie.

$sudo vi /etc/redis/redis.conf

Przewiń do linii bind 127.0.0.1 dodać dodatkowy adres IP 192.168.10.10, będzie to wyglądać tak

bind 127.0.0.1 192.168.10.10

zachować i wyjść.

  1. Zrestartuj serwer redis i zamknij swój serwer.

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

To wszystko, powinieneś być w stanie połączyć się z REDiS Homestead od gospodarza.

+0

Dziękuję bardzo! – Till

+0

Niesamowite rzeczy !! –

+0

Zauważyłem, że zamiast używać 192.168.10.10, musisz teraz użyć adresu IP podanego w pliku/etc/hosts zamiast adresu IP określonego w pliku Homestead.yaml. Dla mnie ten adres IP wynosił 10.211.55.5. –

2

SSH na maszynę i otwórz /etc/redis/redis.conf.

Znajdź linię zaczynającą się od dyrektywy bind, skomentuj i zapisz plik. Następnie zrestartuj serwer redis za pomocą sudo /etc/init.d/redis-server restart.

Dzięki temu Redis będzie nasłuchiwał wszystkich połączeń ze wszystkich dostępnych interfejsów. Nie potrzebujesz żadnego dodatkowego przekazywania portów.

+1

To działało dla mnie (Windows 10, homestead v5), ale musiałem też ustawić 'protected-mode no' też. –

Powiązane problemy