La conexión de Redis a 127.0.0.1:6379 falló - conecte ECONNREFUSED

133

Estoy trabajando con node.js por expressjs
Intento almacenar una cuenta para la sesión. Entonces, trato de probar para usar la sesión con código en expressjs

var RedisStore = require('connect-redis')(express);
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({ secret: "keyboard cat", store: new RedisStore }));

Pero recibí un error Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED.
Por favor, ayúdame a resolver este problema

Huy Tran
fuente
3
¿Redis está corriendo? ¿Se puede conectar a él por otros medios, por ejemplo, redis-cli?
un tipo triste
3
Gracias, porque el servidor redis no se está ejecutando. Instalo redis-server y sigo este tutorial
Huy Tran
Debe instalar el servidor Redis en su máquina y ejecutarlo. ¡No sé por qué el autor no menciona esta cosa importante en el manual!
Emad Aghayi
2
¿Cómo agrego redis-server para mi aplicación Heroku de nodo? También tengo el mismo error.
amar ghodke

Respuestas:

224

Después de instalar redis, escriba desde la terminal:

redis-server

y tendrás redis corriendo

a cuestas
fuente
3
Para mí, debería especificar la conf, así que escribo >> (sudo) redis-server /etc/redis/redis.conf
Romanos 8.38-39
44
Gracias. ¡Estúpido cómo en el tutorial nunca mencionaron cómo iniciar el servidor redis!
Codious-JR
8
redis-server --daemonize yespara ejecutar en segundo plano
Morteza Ziyae
61

Resuelvo este problema de la siguiente manera:

sudo apt-get install redis-server

luego ejecute el comando para confirmar que todo está bien:

sudo service redis-server status

Y la salida será: redis-server is running- eso significa que el problema está resuelto.

V. Kovpak
fuente
1
ese error se solucionó pero ahora
aparece un
1
¡Gracias! esto resolvió el problema, solo una pequeña nota en entornos Linux / WSL después de la instalación, vuelva a ejecutar el comando redis-servero agregue el prefijo sudo si es necesario. Si todo va bien, verá el mensaje clis de redis-server. también se puede verificar según sudo service redis-server statuslo sugerido por @author.
solo sé raro
33

Instale redis en su sistema primero -

brew install redis

luego inicie el servidor redis -

redis-server
Partha Roy
fuente
19

Estoy en Windows, y tuve que instalar Redis desde aquí y luego ejecutarlo redis-server.exe.

Desde lo alto de esta pregunta SO .

Felix
fuente
12

Solución simple:

solo presione a continuación el comando una vez y reinicie su servidor nuevamente

redis-server
Shashwat Gupta
fuente
4

También tengo el mismo problema, primero intenté reiniciar redis-server sudo service restartpero el problema aún persiste . Entonces me quita redis-serverpor sudo apt-get purge redis-servere instalarlo de nuevo por sudo apt-get install redis-servery luego los Redis estaba trabajando de nuevo. También vale la pena echar un vistazo al registro de redis que se encuentra aquí/var/log/redis/redis-server.log

Sadegh
fuente
4

para usuarios de Windows, puede usar chocolatey para instalar Redis

choco install redis-64

luego ejecute el servidor desde

C:\ProgramData\chocolatey\lib\redis-64\redis-server.exe
Barış Serkan AKIN
fuente
3

¿Usando Windows 10? Vaya aquí: https://docs.microsoft.com/en-us/windows/wsl/wsl2-install

Entonces corre...

    $ wget https://github.com/antirez/redis/archive/5.0.5.tar.gz <- change this to whatever Redis version you want (https://github.com/antirez/redis/releases)
    $ tar xzf redis-5.0.5.tar.gz
    $ cd redis-5.0.5
    $ make
decodificador7283
fuente
1

Para la plataforma Windows, debe verificar si se redis-serverestá ejecutando en el puerto ip: dado. Puede encontrar la configuración de redis en el directorio de instalación /conf/redis.conf. Por defecto el cliente acepta 127.0.0.1:6379.

agpt
fuente
1

Estoy en MBP e instalo redis detail mi problema se resolvió. Se corrigió la descarga, extracción y compilación de Redis con:

$ wget http://download.redis.io/releases/redis-3.0.2.tar.gz

$ tar xzf redis-3.0.2.tar.gz

$ cd redis-3.0.2

$ make

Los archivos binarios que ahora se compilan están disponibles en el directorio src.

Ejecute Redis con:

$ src/redis-server 
Halilertekin
fuente
1

Su conexión a redis está fallando. Intente reiniciar su servidor redis, luego inicie su cliente nuevamente ejecutando estos 3 comandos:

sudo service redis-server restart
redis-server
redis-cli
Balakumaran
fuente
3
Por favor explique su respuesta. Actualmente se ve como una publicación de baja calidad. ¡Gracias!
Abandono el
Tengo este error en ubuntu ... resolver con estos comandos ... ahora está funcionando bien .....
Balakumaran
1

Creo que quizás instaló redis por código fuente. Si necesita localizar redis-source-code-path / utils y ejecutar sudo install_server.sh comando. Después de eso, asegúrese de que redis-server se haya ejecutado como un servicio para su sistema sudo service redis-server status

PD: basado en Debian / Ubuntu

sudoz
fuente
1

En el caso de ubuntu, el error se debe a que el servidor redis no está configurado. Instale el servidor redis nuevamente y luego verifique el estado.

Si no hay ningún error, se mostrará un mensaje como este:

● redis-server.service - Almacén avanzado de valores clave Cargado: cargado (/lib/systemd/system/redis-server.service; habilitado; proveedor preestablecido: habilitado) Activo: activo (en ejecución) desde el mié 2018-01-17 20 : 07: 27 IST; 16s Docs: http://redis.io/documentation , man: redis-server (1) PID principal: 4327 (redis-server) CGroup: /system.slice/redis-server.service └─4327 / usr / bin / redis-server 127.0.0.1:6379

Yadnesh Sawant
fuente
1

Primero debe instalar el servidor redis;

Puede instalar el servidor redis en mac siguiendo el paso:

  $ curl -O http://download.redis.io/redis-stable.tar.gz
  $ tar xzvf redis-stable.tar.gz
  $ cd redis-stable
  $ make
  $ make test
  $ sudo make install
  $ redis-server

Buena suerte.

Saiful Islam Sajib
fuente
Tenga en cuenta: esto tardará un tiempo en ejecutarse. Si tiene un administrador de dependencias (cerveza u otro), esto le ahorrará tiempo.
lukas_o
0

Para mí, tuve este problema en Ubuntu 18.x, pero mi problema era que mi servidor redis se estaba ejecutando en 127.0.0.1 pero descubrí que necesitaba ejecutarlo en mi dirección IP xxx.xx.xx.xx

Entré en mi máquina Ubuntu e hice lo siguiente.

cd /etc/redis/

sudo vim redis.conf

Luego edité esta parte.

################################## NETWORK #####################################

# By default, if no "bind" configuration directive is specified, Redis listens
# for connections from all the network interfaces available on the server.
# It is possible to listen to just one or multiple selected interfaces using
# the "bind" configuration directive, followed by one or more IP addresses.
#
# Examples:
#
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
#
# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the
# internet, binding to all the interfaces is dangerous and will expose the
# instance to everybody on the internet. So by default we uncomment the
# following bind directive, that will force Redis to listen only into
# the IPv4 loopback interface address (this means Redis will be able to
# accept connections only from clients running into the same computer it
# is running).le to listen to just one or multiple selected interfaces using
#
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# bind 127.0.0.1 ::1 10.0.0.1
bind 127.0.0.1 ::1 # <<-------- change this to what your iP address is something like (bind 192.168.2.2)

Guarde eso y luego reinicie redis-server.

sudo service redis-server restart o simplemente correr redis-server

haron68
fuente
-5

Intente actualizar su nodo a la última versión.

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

La versión 0.4 puede no funcionar correctamente.

ysk
fuente