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


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


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.


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


12

Solución simple:

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

redis-server

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


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



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.


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 

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

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


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


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.


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


-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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.