127.0.0.1:6379 için redis bağlantısı başarısız - ECONNREFUSED'ı bağlayın


133

Expressjs ile node.js ile çalışıyorum Oturuma
bir hesap depolamaya çalışıyorum. Yani, expressjs'de kod ile oturum kullanmayı test etmeye çalışıyorum

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

ama hata aldım Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED.
Lütfen bu sorunu çözmeme yardım edin


3
Redis çalışıyor mu? Buna başka yollarla, örneğin redis-cli ile bağlanabilir misiniz?
üzgün bir ahbap

3
Teşekkür ederim, çünkü redis sunucusu çalışmıyor. Redis sunucusunu yükledim ve bu öğreticiyi
Huy Tran

Redis sunucusunu makinenize kurmalı ve çalıştırmalısınız. Yazarın kılavuzda bu önemli şeyden neden bahsetmediğini bilmiyorum!
Emad Aghayi

2
Düğüm Heroku uygulamam için redis sunucusunu nasıl eklerim? Benim de aynı hatam var.
amar ghodke

Yanıtlar:


225

Redis'i kurduktan sonra terminalden şunu yazın:

redis-server

ve çalışan redis olacak


3
Benim için conf'i belirtmeliyim, bu yüzden >> (sudo) redis-server /etc/redis/redis.conf yazıyorum
Romalılar 8.38-39

4
Teşekkür ederim. Ne kadar aptalca, öğreticide redis sunucusunu nasıl başlatacaklarından hiç bahsetmediler!
Codious-JR

8
redis-server --daemonize yesarka planda koşmak
Morteza Ziyae

61

Bu sorunu bir sonraki yolla çözüyorum:

sudo apt-get install redis-server

sonra her şeyin yolunda olduğunu onaylamak için komutu çalıştırın:

sudo service redis-server status

Ve çıktı: redis-server is running- bu, sorunun çözüldüğü anlamına gelir.


1
bu hata düzeltildi, ancak şimdi yeni hata gösteriliyor, yani "Hata: 'set' komutu için ERR yanlış sayıda bağımsız değişken"
vineet

1
Teşekkürler! bu sorunu çözdü, Linux / WSL ortamlarında sadece komutu yeniden çalıştırdıktan sonra küçük bir not redis-serverveya gerekirse sudo ile önek ekledikten sonra . Her şey yolunda giderse, redis-server cli mesajını göreceksiniz. sudo service redis-server status@author tarafından önerildiği gibi doğrulanabilir .
tuhaf olun

33

Redis'i önce sisteminize yükleyin -

brew install redis

sonra redis sunucusunu başlatın -

redis-server


12

Basit çözüm:

aşağıya sadece bir kez basın ve sunucunuzu yeniden başlatın

redis-server

4

Bende de aynı sorun var, önce redis sunucusunu yeniden başlatmayı denedim sudo service restartama sorun hala devam ediyor. Sonra redis-servertarafından kaldırdım sudo apt-get purge redis-serverve tekrar sudo apt-get install redis-serverkurdum ve sonra redis tekrar çalışıyordu. Burada bulunan redis günlüğüne de göz atmaya değer/var/log/redis/redis-server.log


4

Windows kullanıcıları için, Redis'i yüklemek için chocolatey'i kullanabilirsiniz

choco install redis-64

sonra sunucuyu şuradan çalıştır

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



1

Windows platformu için, redis-serververilen ip: port üzerinde çalışıp çalışmadığını kontrol etmelisiniz . redis yapılandırmasını kurulum dizininde bulabilirsiniz /conf/redis.conf. varsayılan olarak müşteri kabul eder 127.0.0.1:6379.


1

MBP'deyim ve redis detayını yükleyin, sorunum çözüldü.

$ 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

Şimdi derlenen ikili dosyalar src dizininde mevcuttur.

Redis'i şununla çalıştırın:

$ src/redis-server 

1

Redis ile bağlantınız kopuyor. Redis sunucunuzu yeniden başlatmayı ve ardından aşağıdaki 3 komutu çalıştırarak istemcinizi yeniden başlatmayı deneyin:

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

3
Lütfen cevabınızı açıklayınız. Şu anda düşük kaliteli bir gönderi olarak görülüyor. Teşekkürler!
Bırakma


1

Redis'i kaynak koduna göre yüklediniz sanırım. Eğer kaynak kodu yolunu / utils'i yeniden adlandırmak ve çalıştırmak için konum bulmanız gerekiyorsa sudo install_server.sh komutu . Bundan sonra, redis sunucusunun sisteminiz için bir hizmet olarak çalıştığından emin olun. sudo service redis-server status

Not: Debian / Ubuntu'ya göre


1

Ubuntu durumunda, hata, redis sunucusunun kurulmamış olmasından kaynaklanmaktadır. Redis sunucusunu tekrar kurun ve ardından durumu kontrol edin.

Hata yoksa, bunun gibi bir mesaj görüntülenir: -

● redis-server.service - Gelişmiş anahtar-değer deposu Yüklendi: yüklendi (/lib/systemd/system/redis-server.service; etkin; satıcı ön ayarı: etkin) Etkin: Etkin (çalışıyor) Çar 2018-01-17 20 : 07: 27 IST; 16sn önce Docs: http://redis.io/documentation , man: redis-server (1) Ana PID: 4327 (redis-server) CGroup: /system.slice/redis-server.service └─4327 / usr / bin / redis-server 127.0.0.1:6379


1

Önce redis sunucusunu kurmanız gerekir;

Redis sunucusunu Mac'e aşağıdaki adımı izleyerek kurabilirsiniz -

  $ 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

İyi şanslar.


Dikkat edin: Bunun çalışması biraz zaman alacaktır. Bir bağımlılık yöneticiniz (brew veya başka) varsa, bu size zaman kazandıracaktır.
lukas_o

0

Benim için Ubuntu 18.x'te bu sorunu yaşadım, ancak benim sorunum redis sunucumun 127.0.0.1'de çalışıyor olmasıydı ancak bunu xxx.xx.xx.xx IP adresimde çalıştırmam gerektiğini öğrendim.

Ubuntu makineme girdim ve aşağıdakileri yaptım.

cd /etc/redis/

sudo vim redis.conf

Sonra bu bölümü düzenledim.

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

Bunu kaydedin ve ardından redis sunucusunu yeniden başlatın.

sudo service redis-server restart ya da sadece koş redis-server


-5

Düğümünüzü en son sürüme yükseltmeyi deneyin.

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

0.4 sürümü düzgün çalışmayabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.