que - No se pudo conectar a Redis en 127.0.0.1:6379: conexión rechazada con homebrew
que necesito para instalar redis (8)
Usando homebrew para instalar Redis, pero cuando trato de hacer ping a Redis, muestra este error.
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Nota: Intento desactivar el firewall y editar el archivo conf tampoco. Estoy usando macOS Sierra y homebrew versión 1.1.11
Acabo de tener el mismo problema porque había usado una sintaxis incorrecta en mi archivo de configuración. Quise agregar:
maxmemory-policy allkeys-lru
a mi archivo de configuración, pero en su lugar solo agregué:
allkeys-lru
lo que evidentemente evitó que Redis analizara el archivo de configuración, lo que a su vez me impidió conectarme a través del cli. Arreglar esta sintaxis me permitió conectarme a Redis.
Después de instalar
redis
, escriba desde la
terminal
:
redis-server
Y se iniciará Redis-Server
En mi caso, era la contraseña que contenía algunos caracteres como
''
, después de cambiarla, el servidor se inició sin problemas.
Encontré esta pregunta al intentar averiguar por qué no podía conectarme a redis después de iniciarlo a través de
brew services start redis
.
tl; dr
Dependiendo de cuán 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 archivo,redis-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
-
Necesita
/usr/local/var/db/redis/
para existir. Puedes hacerlo fácilmente conmkdir -p /usr/local/var/db/redis
Finalmente, simplemente reinicie redis con
brew services restart redis
.
¿Cómo lo descubres?
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 fueron engañosos porque aunque
redis-server
no se había iniciado realmente, la
brew services list
aún mostraría redis como "iniciado".
El mejor enfoque es utilizar los
brew services --verbose start redis
que le mostrará que el archivo de registro está en
/usr/local/var/log/redis.log
.
Mirando allí encontré la (s) pistola (s) humeante (s)
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 ejecutar
redis-server
?
Seguro que puedes.
Solo tomará una terminal o la interrumpirá ocasionalmente si ejecuta
redis-server &
.
También colocará
dump.rdb
en el directorio en el que lo ejecute (
pwd
).
Me molestó tener que eliminar el archivo o ignorarlo en git, así que pensé que dejaría que Brew hiciera el trabajo con los servicios.
Es la mejor manera de conectarse a su redis.
Al principio, verifique la dirección IP del servidor redis de esta manera.
ps -ef | grep redis
El resultado es una especie de "redis 1184 1 0 .... / usr / bin / redis-server 172.xxx:6379
Y luego puede conectarse a redis con la opción -h (nombre de host) como esta.
redis-cli -h 172.xxx
Primero necesita subir / iniciar todos los nodos redis usando el siguiente comando, uno por uno para todos los archivos conf. @Nota: si está configurando un clúster, entonces debería tener 6 nodos, 3 serán maestros y 3 serán esclavos.redis-cli seleccionará automáticamente maestro y esclavo de 6 nodos usando el comando --cluster como se muestra en mis comandos a continuación .
[xxxxx@localhost redis-stable]$ redis-server xxxx.conf
entonces corre
[xxxxx@localhost redis-stable]$ redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1
La salida de arriba debe ser como:
>>> Performing hash slots allocation on 6 nodes...
Segunda forma de configurar todas las cosas automáticamente: puede usar los scripts utils / create-cluster para configurar todo para usted, como iniciar todos los nodos, crear un clúster y seguir https://redis.io/topics/cluster-tutorial
Gracias
Si después de la instalación necesita ejecutar
redis
todo el tiempo, simplemente escriba la terminal:
redis-server &
Ejecutar redis usando upstart en Ubuntu
He estado tratando de entender cómo configurar sistemas desde cero en Ubuntu.
Acabo de instalar
redis
en la caja y así es como lo hice y algunas cosas a tener en cuenta.
Instalar:
sudo apt-get install redis-server
Eso creará un usuario
redis
e instalará el script
init.d
para él.
Dado que
upstart
ahora es el reemplazo para usar init.d, creo que debería convertirlo para que se ejecute usando
upstart
.
Para deshabilitar la
init.d
comandos
init.d
predeterminada para
redis
:
sudo update-rc.d redis-server disable
Luego cree
/etc/init/redis-server.conf
con el siguiente script:
description "redis server"
start on runlevel [23]
stop on shutdown
exec sudo -u redis /usr/bin/redis-server /etc/redis/redis.conf
respawn
Lo que se trata es la secuencia de comandos para
upstart
para saber qué comando ejecutar para iniciar el proceso.
La última línea también le dice al
upstart
que siga intentando reaparecer si muere.
Una cosa que tuve que cambiar en
/etc/redis/redis.conf
es cambiar
daemonize yes
a
daemonize no
.
Lo que sucede si no lo cambia es que
redis-server
se bifurcará y demonizará, y el proceso padre desaparecerá.
Cuando esto sucede, el
upstart
piensa que el proceso ha muerto / detenido y no tendrá control sobre el proceso desde el
upstart
.
Ahora puede usar los siguientes comandos para controlar su
redis-server
:
sudo start redis-server
sudo restart redis-server
sudo stop redis-server
¡Espero que esto haya sido útil!
Si tenía ese problema con
homebrew MacOS
el problema era algún tipo de permiso que faltaba en el directorio
/usr/local/var/log
Vea el problema aquí
Para resolverlo, eliminé
/usr/local/var/log
y reinstalé redis
brew reinstall redis