2015-07-04 5 views
5

У меня возникли проблемы с попыткой удаленного подключения к локальному серверу Homestead Redis. Я использую как командную строку (redis-cli), так и RDM.Laravel Homestead Redis Port Forwarding

Я могу соединиться с Postgresql с PgAdmin в этой коробке, но Redis возвращается с:

Не удалось подключиться к Redis в 127.0.0.1:63790: Соединение отклонено

Мои Redis конфигурационный файл «привязка» комментируется, поэтому он должен принимать соединения из всех источников. Я также попытался остановить Redis и запустить его снова, указывая вручную на конфигурационный файл, но безуспешно.

В моем конфигурационном файле Homestead.yaml порт Redis по умолчанию не был перенаправлен. По Homestead-х Documentation, я могу установить переадресацию портов, как это:

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

Ну, я также попытался что и перезапустить сервер, но это не сработало.

Я что-то упустил?

ответ

3

Удалите настройки портов из Homestead.yaml, которые вам не понадобятся.

Теперь по Redis умолчанию в приусадебных VM прослушивает его обычный порт, 6379.

Вы можете SSH в вашу виртуальную машину и проверить его:

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

Для подключения к экземпляру Redis виртуальной машины от вашего на локальном компьютере вам нужно использовать IP-адрес, указанный в вашем Homestead.yaml. По умолчанию это 192.168.10.10:

redis-cli -h 192.168.10.10 

Если у вас есть доменное имя, установленное в вашей местной /etc/hosts для вашего приложения вы можете использовать его вместо:

redis-cli -h homestead.app 
+0

Работает как очарование! Я только что открыл запрос [pull request] (https://github.com/laravel/docs/pull/1670) в документах Laravel, чтобы добавить ваши инструкции для подключения к Redis. –

+2

Я не думаю, что это уже так происходит с последней усадьбой VM - кажется, что redis только слушает 127.0.0.1 сейчас. Итак, вернемся к переадресации портов. –

23

Для 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 с вашего хоста.

+0

Большое спасибо! – Till

+0

Awesome Stuff !! –

+0

Я обнаружил, что вместо 192.168.10.10 вам теперь нужно использовать IP-адрес, указанный в файле/etc/hosts, вместо IP-адреса, указанного в вашем файле Homestead.yaml. Для меня этот IP-адрес был 10.211.55.5. –

2

SSH на машину и открыть /etc/redis/redis.conf.

Найти строку, которая начинается с директивы bind, прокомментировать и сохранить файл. Затем перезапустите redis-сервер с помощью sudo /etc/init.d/redis-server restart.

Благодаря тому, что Redis будет прослушивать все соединения всех доступных интерфейсов. Вам не нужна дополнительная переадресация портов.

+1

Это работало для меня (окна 10, homestead v5), но мне также пришлось установить «protected-mode no» тоже. –