La connexion Redis à 127.0.0.1:6379 a échoué - connectez ECONNREFUSED


133

Je travaille avec node.js par expressjs,
j'essaye de stocker un compte en session. Donc, j'essaie de tester pour utiliser la session avec du code dans 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 }));

mais j'ai eu une erreur Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED.
Aidez-moi à résoudre ce problème


3
Redis est-il en cours d'exécution? Pouvez-vous vous y connecter par d'autres moyens, par exemple redis-cli?
un mec triste

3
Merci, car le serveur Redis ne fonctionne pas. J'installe redis-server suivez ce tutoriel
Huy Tran

Vous devez installer le serveur Redis sur votre machine et l'exécuter. Je ne sais pas pourquoi l'auteur n'a pas mentionné cette chose importante dans le manuel!
Emad Aghayi

2
Comment puis-je ajouter un serveur redis pour mon application node Heroku? J'ai aussi la même erreur.
amar ghodke

Réponses:


224

Après avoir installé redis, tapez à partir du terminal:

redis-server

et vous aurez redis en cours d'exécution


3
Pour moi, je devrais spécifier le conf, donc je tape >> (sudo) redis-server /etc/redis/redis.conf
Romains 8.38-39

4
Je vous remercie. Stupide comment dans le tutoriel, ils n'ont jamais mentionné comment démarrer le serveur Redis!
Codious-JR

8
redis-server --daemonize yespour courir en arrière
Morteza Ziyae

61

Je résous ce problème de la manière suivante:

sudo apt-get install redis-server

puis exécutez la commande pour confirmer que tout va bien:

sudo service redis-server status

Et le résultat sera: redis-server is running- cela signifie que le problème est résolu.


1
cette erreur corrigée mais maintenant une nouvelle erreur s'affiche, c'est-à-dire "Erreur: ERR nombre incorrect d'arguments pour la commande 'set'"
vineet

1
Merci! cela a résolu le problème, juste une petite note sur les environnements Linux / WSL après l'installation, réexécutez la commande redis-serverou préfixez-la par sudo si nécessaire. Si tout se passe bien, vous verrez un message cli redis-server. peut également être vérifié par sudo service redis-server statuscomme suggéré par @author.
juste-être-bizarre

33

Installez d'abord redis sur votre système -

brew install redis

puis démarrez le serveur redis -

redis-server


12

Solution simple:

ne cliquez qu'une seule fois ci-dessous et redémarrez votre serveur

redis-server

4

J'ai aussi le même problème, j'ai d'abord essayé de redémarrer redis-server sudo service restartmais le problème persistait . Ensuite , je l' ai enlevé redis-serverpar sudo apt-get purge redis-serveret l' installer à nouveau par sudo apt-get install redis-serverpuis les Redis travaillais à nouveau. Cela vaut également la peine de jeter un œil au journal redis qui se trouve ici/var/log/redis/redis-server.log


4

pour les utilisateurs de Windows, vous pouvez utiliser chocolatey pour installer Redis

choco install redis-64

puis exécutez le serveur à partir de

C:\ProgramData\chocolatey\lib\redis-64\redis-server.exe



1

Pour la plate-forme Windows, vous devez vérifier si redis-serverfonctionne sur l'ip: port donné. vous pouvez trouver la configuration de redis dans le répertoire d'installation /conf/redis.conf. par défaut, le client accepte 127.0.0.1:6379.


1

Je suis sur MBP et installe le détail de redis, mon problème a été résolu .Correction du téléchargement, extraction et compilation de Redis avec:

$ 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

Les binaires qui sont maintenant compilés sont disponibles dans le répertoire src.

Exécutez Redis avec:

$ src/redis-server 

1

Votre connexion à redis échoue. Essayez de redémarrer votre serveur redis, puis de redémarrer votre client en exécutant ces 3 commandes:

sudo service redis-server restart
redis-server
redis-cli

3
Veuillez expliquer votre réponse. Il est actuellement considéré comme un article de mauvaise qualité. Merci!
Abandon du

j'ai eu cette erreur dans ubuntu ... résoudre avec ces commandes..maintenant cela fonctionne bien .....
Balakumaran

1

Je pense que vous avez peut-être installé redis par code source.Si vous avez besoin de localiser redis-source-code-path / utils et d'exécuter la sudo install_server.shcommande. Après cela, assurez-vous que redis-server a fonctionné en tant que service pour votre système sudo service redis-server status

PS: basé sur Debian / Ubuntu


1

Dans le cas d'ubuntu, l'erreur est due au fait que le serveur redis n'est pas configuré. Installez à nouveau le serveur redis, puis vérifiez l'état.

S'il n'y a pas d'erreur, alors un message comme celui-ci s'affiche: -

● redis-server.service - Stockage clé-valeur avancé Chargé: chargé (/lib/systemd/system/redis-server.service; activé; préréglage du fournisseur: activé) Actif: actif (en cours d'exécution) depuis le mer 17/01/2018 20 : 07: 27 IST; Il y a 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

Vous devez d'abord installer le serveur redis;

Vous pouvez installer le serveur Redis sur Mac en suivant l'étape -

  $ 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

Bonne chance.


Attention: cela prendra un certain temps à s'exécuter. Si vous avez un gestionnaire de dépendances (brasserie ou autre), cela vous fera gagner du temps.
lukas_o

0

Pour moi, j'ai eu ce problème sur Ubuntu 18.x, mais mon problème était que mon serveur redis fonctionnait sur 127.0.0.1 mais j'ai découvert que je devais l'exécuter sur mon adresse IP xxx.xx.xx.xx

Je suis entré dans ma machine Ubuntu et j'ai fait ce qui suit.

cd /etc/redis/

sudo vim redis.conf

Ensuite, j'ai édité cette partie.

################################## 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)

Enregistrez cela, puis redémarrez le serveur redis.

sudo service redis-server restart ou simplement courir redis-server


-5

Essayez de mettre à niveau votre nœud vers la dernière version.

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

la version 0.4 peut ne pas fonctionner correctement.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.