Usando homebrew para instalar Redis, pero cuando intento hacer ping a Redis, muestra este error:
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Nota: Traté de apagar el firewall y editar el archivo conf pero todavía no puedo hacer ping. Estoy usando macOS Sierra y homebrew versión 1.1.11
redis
redis-server
bufei
fuente
fuente
cd C:\Program Files\Redis
y luegoredis-server
Encontré esta pregunta mientras intentaba 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 qué tan fresca 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í conNecesitas
/usr/local/var/db/redis/
existir. Puedes hacer esto fácilmente conFinalmente, simplemente reinicie redis con
brew services restart redis
.¿¡Cómo averiguas 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
redis-server
no se habían iniciado en realidad,brew services list
seguían mostrando redis como "iniciado". El mejor enfoque es usar elbrew 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)o
Afortunadamente, el registro hizo que la solución anterior fuera obvia.
¿No puedo simplemente correr
redis-server
?Seguro que puedes. Solo ocupará una terminal o interrumpirá su terminal ocasionalmente si ejecuta
redis-server &
. También pondrádump.rdb
en cualquier directorio en el que lo ejecutes (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.fuente
Si después de la instalación necesita ejecutar
redis
todo el tiempo, simplemente escriba terminal:redis-server &
Ejecutando 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:
Eso creará un
redis
usuario e instalará elinit.d
script para él. Dadoupstart
que ahora es el reemplazo para usar init.d, supongo que debería convertirlo para ejecutar usandoupstart
.Para deshabilitar el
init.d
script predeterminado pararedis
:Luego crea
/etc/init/redis-server.conf
con el siguiente script:Para qué sirve este script para
upstart
saber qué comando ejecutar para iniciar el proceso. La última línea también diceupstart
que sigas intentando reaparecer si muere.Una cosa que tenía que cambiar en
/etc/redis/redis.conf
esdaemonize yes
adaemonize no
. Lo que sucede si no lo cambia,redis-server
se bifurcará y se demonizará a sí mismo, y el proceso padre desaparecerá. Cuando esto sucede,upstart
piensa que el proceso ha muerto / se detuvo y no tendrá control sobre el proceso desde dentroupstart
.Ahora puede usar los siguientes comandos para controlar su
redis-server
:¡Espero que esto haya sido útil!
fuente
Es la mejor forma de conectarse a su redis.
Al principio, verifique la dirección IP del servidor redis de esta manera.
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.
fuente
En mi caso, era la contraseña que contenía algunos caracteres como
'
, luego de cambiarla el servidor arrancaba sin problemas.fuente
Acabo de tener este 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 impidió que Redis analizara el archivo de configuración, lo que a su vez me impidió conectarme a través del archivo cli. Arreglar esta sintaxis me permitió conectarme a Redis.
fuente
Si ese problema con
homebrew MacOS
el problema era que faltaba algún tipo de permiso en el/usr/local/var/log
directorio, consulte el problema aquíPara solucionarlo
/usr/local/var/log
eliminé y reinstalé redisbrew reinstall redis
fuente
Primero debe activar / iniciar todos los nodos de 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 .
entonces corre
la salida de arriba debería ser como:
Segunda forma de configurar todo automáticamente: puede usar scripts utils / create-cluster para configurar todo para usted, como iniciar todos los nodos, crear un clúster para usted y seguir https://redis.io/topics/cluster-tutorial
Gracias
fuente
Este trabajo para mi:
fuente
Al igual que Aaron , en mi caso
brew services list
afirmó que redis se estaba ejecutando, pero no lo estaba. Encontré la siguiente información en mi archivo de registro en/usr/local/var/log/redis.log
:Eso resulta ser causado por la siguiente configuración:
que era necesario para que mi máquina virtual VMWare Fusion tuviera acceso al servidor de redis en macOS, el host. Sin embargo, si la máquina virtual no se inició, este error de enlace provocó que redis no se iniciara en absoluto . Entonces, iniciar la máquina virtual resolvió el problema.
fuente
Prueba esto :
fuente