2015-07-04 10 views
5

Sto avendo qualche problema qui cercando di connettersi in remoto al mio server Homestead Redis locale. Sto usando sia commandline (redis-cli) e RDM.Laravel Homestead Redis Port Forwarding

sono in grado di connettersi con PostgreSQL con PgAdmin in questa casella, ma Redis ritorna con:

Impossibile connettersi al Redis a 127.0.0.1:63790: Connection refused

mio La direttiva "bind" del file di configurazione Redis è commentata, quindi dovrebbe accettare le connessioni da tutte le fonti. Ho anche provato a fermare Redis e riavviarlo, puntando manualmente il file di configurazione, ma senza successo.

Nel file di configurazione Homestead.yaml, la porta Redis non è stata inoltrata per impostazione predefinita. Secondo il Homestead Documentation, posso impostare il port forwarding in questo modo:

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

Beh, ho anche provato che e riavviato il server, ma non ha funzionato.

Mi manca qualcosa?

risposta

3

Rimuovere le impostazioni delle porte dal tuo Homestead.yaml non ti servirà.

Ora da Redis predefinite a Homestead VM è in ascolto sulla sua porta normale, 6379.

È possibile ssh nel vostro vm e controllare:

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

Per connettersi a un'istanza Redis del vm dal macchina locale è necessario utilizzare un indirizzo IP specificato nel proprio Homestead.yaml. Di default è 192.168.10.10:

redis-cli -h 192.168.10.10 

Se si dispone di nome di dominio impostato nel vostro locale /etc/hosts per la vostra applicazione si può utilizzare al posto:

redis-cli -h homestead.app 
+0

Funziona come un fascino! Ho appena aperto una [richiesta pull] (https://github.com/laravel/docs/pull/1670) nei documenti di Laravel per aggiungere le tue istruzioni per connettersi a Redis. –

+2

Non penso che questo sia più il caso con l'ultima VM di homestead - sembra che redis ascolti solo su 127.0.0.1 ora. Quindi, tornando al port forwarding lo è. –

23

Per sopra Homestead 0.4. A causa dell'impostazione di sicurezza redis, si associa solo a 127.0.0.1

In questo caso, è necessario associare un indirizzo IP supplementare.

  1. SSH al server.

$sudo vi /etc/redis/redis.conf

Passare alla riga bind 127.0.0.1 aggiungere l'indirizzo IP in più 192.168.10.10, che sarà simile a questa

bind 127.0.0.1 192.168.10.10

salvare ed uscire.

  1. Riavvia server redis ed esci dal server.

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

Questo è tutto, si dovrebbe essere in grado connettersi ai Redis Homestead dal tuo host.

+0

Grazie mille! – Till

+0

Cose stupende !! –

+0

Ho scoperto che invece di utilizzare 192.168.10.10, ora è necessario utilizzare l'indirizzo IP specificato nel file/etc/hosts, anziché l'indirizzo IP specificato nel file Homestead.yaml. Per me quell'indirizzo IP era 10.211.55.5. –

2

SSH alla macchina e aperto /etc/redis/redis.conf.

Trova la riga che inizia con la direttiva bind, commentala e salva il file. Quindi riavviare redis-server con sudo /etc/init.d/redis-server restart.

Grazie a ciò, Redis ascolterà tutte le connessioni da tutte le interfacce disponibili. Non hai bisogno di alcun port forwarding extra.

+1

Questo ha funzionato per me (Windows 10, homestead v5) ma ho dovuto anche impostare 'protected-mode no'. –