No se pudo conectar a Redis en 127.0.0.1:6379: conexión rechazada con homebrew

Resuelto bufei asked hace 7 años • 22 respuestas

Uso homebrew para instalar Redis, pero cuando intento hacer ping a Redis aparece este error:

Could not connect to Redis at 127.0.0.1:6379: Connection refused

Nota: Intenté desactivar el firewall y editar el archivo de configuración pero todavía no puedo hacer ping. Estoy usando macOS Sierra y homebrew versión 1.1.11

bufei avatar Mar 17 '17 19:03 bufei
Aceptado

Después de la instalación redis, escriba desde terminal:

redis-server

Y se iniciará Redis-Server.

LuFFy avatar Mar 17 '2017 13:03 LuFFy

Encontré esta pregunta mientras intentaba descubrir por qué no podía conectarme a Redis después de iniciarlo mediante brew services start redis.

tl; dr

Dependiendo de qué tan reciente sea su máquina o instalación, es probable que le falte un archivo de configuración o un directorio para los valores predeterminados de Redis.

  1. Necesita un archivo de configuración en /usr/local/etc/redis.conf. Sin este archivo redis-serverno se iniciará. Puede copiar el archivo de configuración predeterminado y modificarlo desde allí con

    cp /usr/local/etc/redis.conf.default /usr/local/etc/redis.conf
    
  2. Necesitas /usr/local/var/db/redis/existir. Puedes hacer esto fácilmente con

    mkdir -p /usr/local/var/db/redis
    

Finalmente simplemente reinicie Redis con brew services restart redis.

¿¡Cómo descubres esto!?

Perdí mucho tiempo tratando de averiguar si Redis no estaba usando los valores predeterminados a través de Homebrew y en qué puerto estaba. Los servicios eran engañosos porque, aunque en redis-serverrealidad no se habían iniciado, brew services listtodavía mostraban redis como "iniciado". El mejor enfoque es utilizar brew services --verbose start redisel que le mostrará que el archivo de registro está en /usr/local/var/log/redis.log. Mirando allí encontré las armas humeantes.

Fatal error, can't open config file '/usr/local/etc/redis.conf'

o

Can't chdir to '/usr/local/var/db/redis/': No such file or directory

Afortunadamente, el registro hizo obvia la solución anterior.

¿ No puedo simplemente correr redis-server?

Seguro que puedes. Simplemente ocupará una terminal o la interrumpirá ocasionalmente si ejecuta redis-server &. También lo colocará dump.rdben cualquier directorio en el que lo ejecute ( pwd). Me molestó tener que eliminar el archivo o ignorarlo en git, así que pensé en dejar que Brew hiciera el trabajo con los servicios.

Aaron avatar Apr 10 '2017 12:04 Aaron