Connessione redis a 127.0.0.1:6379 non riuscita - connessione ECONNREFUSED


133

Lavoro con node.js di expressjs
Cerco di archiviare un account nella sessione. Quindi, provo a provare ad usare la sessione con il codice in 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 }));

ma ho ricevuto un errore Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED.
Aiutatemi a risolvere questo problema


3
Redis è in esecuzione? Puoi connetterti ad esso con altri mezzi, ad esempio redis-cli?
un tizio triste il

3
Grazie, perché il server Redis non è in esecuzione. Installo redis-server segui questo tutorial
Huy Tran il

Dovresti installare il server Redis sul tuo computer e eseguirlo. Non so perché l'autore non abbia menzionato questa cosa importante nel manuale!
Emad Aghayi,

2
Come posso aggiungere redis-server per l'app Heroku del mio nodo? Ho anche lo stesso errore.
amar ghodke,

Risposte:


224

Dopo aver installato redis, digitare dal terminale:

redis-server

e avrai redis in esecuzione


3
Per me, dovrei specificare il conf, quindi scrivo >> (sudo) redis-server /etc/redis/redis.conf
Romani 8.38-39

4
Grazie. Stupido come nel tutorial non hanno mai menzionato come avviare il server redis!
Codious-JR,

8
redis-server --daemonize yescorrere in background
Morteza Ziyae,

61

Risolvo questo problema nel modo seguente:

sudo apt-get install redis-server

quindi esegui il comando per confermare che tutto ok:

sudo service redis-server status

E l'output sarà: redis-server is running- ciò significa che il problema è stato risolto.


1
quell'errore risolto ma ora un nuovo errore mostra, ad esempio, "Errore: ERR numero errato di argomenti per il comando 'set'"
Vineet

1
Grazie! questo ha risolto il problema, solo una piccola nota sugli ambienti Linux / WSL dopo l'installazione rieseguire il comando redis-servero prefissarlo con sudo se necessario. Se tutto va bene, vedrai il messaggio cli di redis-server. inoltre può essere verificato sudo service redis-server statuscome suggerito da @author.
Just-be-weird

33

Installa prima redis sul tuo sistema -

brew install redis

quindi avviare il server redis -

redis-server


12

Soluzione semplice:

premi sotto lode solo una volta e riavvia nuovamente il server

redis-server

4

Ho anche lo stesso problema, prima ho provato a riavviare redis-server sudo service restartma il problema è rimasto. Poi ho rimosso redis-serverda sudo apt-get purge redis-servere installarlo nuovamente sudo apt-get install redis-servere poi le Redis stavo lavorando di nuovo. Vale anche la pena dare un'occhiata al registro redis che si trova qui/var/log/redis/redis-server.log


4

per gli utenti Windows, è possibile utilizzare Chocolatey per installare Redis

choco install redis-64

quindi eseguire il server da

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



1

Per la piattaforma Windows, è necessario verificare se redis-serverè in esecuzione su una determinata porta ip:. puoi trovare la configurazione di redis nella directory di installazione /conf/redis.conf. per impostazione predefinita, il client accetta 127.0.0.1:6379.


1

Sono su MBP e installa i dettagli redis il mio problema è stato risolto. Risolto il download, estrarre e compilare 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

I binari ora compilati sono disponibili nella directory src.

Esegui Redis con:

$ src/redis-server 

1

La tua connessione a Redis non riesce. Prova a riavviare il tuo server redis, quindi a riavviare il client eseguendo questi 3 comandi:

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

3
Per favore, spiega la tua risposta. Attualmente è visto come un post di bassa qualità. Grazie!
Abbandono il

ho riscontrato questo errore in Ubuntu ...
risolvilo

1

Penso che forse hai installato redis per codice sorgente. Se hai bisogno di individuare redis-source-code-path / utils ed eseguire il sudo install_server.shcomando. Successivamente, assicurarsi che redis-server sia stato eseguito come servizio per il proprio sistema sudo service redis-server status

PS: basato su Debian / Ubuntu


1

Nel caso di Ubuntu, l'errore è dovuto alla mancata configurazione di redis-server. Installare di nuovo il server redis e quindi verificare lo stato.

Se non si verificano errori, verrà visualizzato un messaggio come questo: -

● redis-server.service - Archivio valori-chiave avanzato Caricato: caricato (/lib/systemd/system/redis-server.service; abilitato; preimpostazione fornitore: abilitato) Attivo: attivo (in esecuzione) da mer 2018-01-17 20 : 07: 27 TSI; 16 anni fa Docs: http://redis.io/documentation , man: redis-server (1) PID principale: 4327 (redis-server) CGroup: /system.slice/redis-server.service └─4327 / usr / bin / redis-server 127.0.0.1:6379


1

Devi prima installare il server redis;

Puoi installare Redis Server su Mac seguendo il passaggio -

  $ 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

In bocca al lupo.


Attenzione: questo richiederà del tempo per essere eseguito. Se hai un gestore delle dipendenze (birra o altro) questo ti farà risparmiare tempo.
lukas_o,

0

Per me ho avuto questo problema su Ubuntu 18.x, ma il mio problema era che il mio server redis era in esecuzione su 127.0.0.1 ma ho scoperto che dovevo eseguirlo sul mio indirizzo IP xxx.xx.xx.xx

Sono entrato nella mia macchina Ubuntu e ho fatto quanto segue.

cd /etc/redis/

sudo vim redis.conf

Quindi ho modificato questa 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)

Salvalo e quindi riavvia redis-server.

sudo service redis-server restart o semplicemente correre redis-server


-5

Prova ad aggiornare il tuo nodo all'ultima versione.

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

la versione 0.4 potrebbe non funzionare correttamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.