No se pudo conectar a Redis en 127.0.0.1:6379: conexión rechazada con homebrew
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
Después de la instalación redis
, escriba desde terminal
:
redis-server
Y se iniciará Redis-Server.
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.
Necesita un archivo de configuración en
/usr/local/etc/redis.conf
. Sin este archivoredis-server
no se iniciará. Puede copiar el archivo de configuración predeterminado y modificarlo desde allí concp /usr/local/etc/redis.conf.default /usr/local/etc/redis.conf
Necesitas
/usr/local/var/db/redis/
existir. Puedes hacer esto fácilmente conmkdir -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-server
realidad no se habían iniciado, brew services list
todavía mostraban redis como "iniciado". El mejor enfoque es utilizar brew services --verbose start redis
el 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.rdb
en 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.