Koneksi redis ke 127.0.0.1:6379 gagal - sambungkan ECONNREFUSED


133

Saya bekerja dengan node.js oleh expressjs.
Saya mencoba untuk menyimpan akun ke sesi. Jadi, saya mencoba untuk menguji menggunakan sesi dengan kode di 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 }));

tapi saya mendapat kesalahan Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED.
Tolong bantu saya menyelesaikan masalah ini


3
Apakah Redis berjalan? Bisakah Anda terhubung dengannya dengan cara lain misalnya redis-cli?
Bung sedih

3
Terima kasih, karena redis server tidak berjalan. Saya menginstal redis-server ikuti tutorial ini
Huy Tran

Anda harus menginstal server Redis di mesin Anda dan menjalankannya. Saya tidak tahu mengapa penulis tidak menyebutkan hal penting ini di manual!
Emad Aghayi

2
Bagaimana cara menambahkan redis-server untuk aplikasi simpul saya Heroku? Saya juga memiliki kesalahan yang sama.
amar ghodke

Jawaban:


224

Setelah Anda menginstal redis, ketik dari terminal:

redis-server

dan Anda harus menjalankan redis


3
Bagi saya, saya harus menentukan conf, jadi saya ketik >> (sudo) redis-server /etc/redis/redis.conf
Roma 8.38-39

4
Terima kasih. Bodoh dalam tutorial mereka tidak pernah menyebutkan cara memulai redis server!
Codious-JR

8
redis-server --daemonize yesuntuk berjalan di latar belakang
Morteza Ziyae

61

Saya memecahkan masalah ini dengan cara berikut:

sudo apt-get install redis-server

kemudian jalankan perintah untuk mengonfirmasi bahwa semuanya ok:

sudo service redis-server status

Dan hasilnya adalah: redis-server is running- itu berarti masalah telah terpecahkan.


1
kesalahan itu diperbaiki tetapi sekarang muncul kesalahan baru yaitu, "Kesalahan: jumlah argumen ERR salah untuk perintah 'set'"
vineet

1
Terima kasih! ini menyelesaikan masalah, hanya sebuah catatan kecil di lingkungan Linux / WSL setelah menginstal menjalankan kembali perintah redis-serveratau awalan dengan sudo jika diperlukan. Jika semuanya berjalan dengan baik, Anda akan melihat pesan cli redis-server. juga dapat diverifikasi oleh sudo service redis-server statusseperti yang disarankan oleh @author.
just-be-odd

33

Instal redis pada sistem Anda terlebih dahulu -

brew install redis

kemudian mulai server redis -

redis-server


12

Solusi sederhana:

tekan saja perintah berikut ini sekali saja dan mulai ulang server Anda lagi

redis-server

4

Saya juga memiliki masalah yang sama, pertama saya mencoba me-restart redis-server sudo service restarttetapi masalahnya tetap ada. Lalu saya dihapus redis-serveroleh sudo apt-get purge redis-serverdan menginstalnya lagi sudo apt-get install redis-serverdan kemudian redis bekerja lagi. Perlu juga melihat redis log yang terletak di sini/var/log/redis/redis-server.log


4

untuk pengguna Windows, Anda dapat menggunakan cokelat untuk menginstal Redis

choco install redis-64

kemudian jalankan server dari

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



1

Untuk platform windows, Anda harus memeriksa apakah redis-serverberjalan di ip: port yang diberikan. Anda dapat menemukan konfigurasi redis di direktori instalasi /conf/redis.conf. secara default klien menerima 127.0.0.1:6379.


1

Saya menggunakan MBP, dan menginstal detail redis masalah saya telah terpecahkan. Memperbaiki Download, ekstrak, dan kompilasi Redis dengan:

$ 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

Binari yang sekarang dikompilasi tersedia di direktori src.

Jalankan Redis dengan:

$ src/redis-server 

1

Koneksi Anda ke redis gagal. Coba mulai ulang server redis Anda, kemudian mulai klien Anda lagi dengan menjalankan 3 perintah ini:

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

3
Tolong jelaskan jawaban Anda. Saat ini dipandang sebagai pos berkualitas rendah. Terima kasih!
Putus

saya mendapatkan kesalahan ini di ubuntu ... selesaikan dengan perintah
ini..sekarang

1

Saya pikir mungkin Anda menginstal redis dengan kode sumber. Jika Anda perlu mencari redis-source-code-path / utils dan jalankan sudo install_server.shperintah. Setelah itu, pastikan redis-server telah berjalan sebagai layanan untuk sistem Anda sudo service redis-server status

PS: berdasarkan Debian / Ubuntu


1

Dalam hal ubuntu, kesalahan ini disebabkan redis-server tidak diatur. Instal redis-server lagi dan kemudian periksa statusnya.

Jika tidak ada kesalahan, maka pesan seperti ini akan ditampilkan: -

● redis-server.service - Toko nilai kunci lanjutan Dimuat: dimuat (/lib/systemd/system/redis-server.service; diaktifkan; preset vendor: diaktifkan) Aktif: aktif (aktif) sejak Rabu 2018-01-17 20 : 07: 27 IST; 16d lalu Documents: http://redis.io/documentation , man: redis-server (1) PID Utama: 4327 (redis-server) CGroup: /system.slice/redis-server.service └─4327 / usr / bin / redis-server 127.0.0.1:6379


1

Anda harus menginstal server redis terlebih dahulu;

Anda dapat menginstal server redis di mac dengan mengikuti langkah -

  $ 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

Semoga berhasil.


Berhati-hatilah: Ini akan membutuhkan waktu untuk dijalankan. Jika Anda memiliki manajer dependensi (minuman atau lainnya) ini akan menghemat waktu Anda.
lukas_o

0

Bagi saya, saya memiliki masalah ini di Ubuntu 18.x, tetapi masalah saya adalah bahwa redis-server saya berjalan pada 127.0.0.1 tapi saya tahu saya perlu menjalankannya di alamat IP saya xxx.xx.xx.xx

Saya masuk ke mesin Ubuntu saya dan melakukan hal berikut.

cd /etc/redis/

sudo vim redis.conf

Kemudian saya mengedit bagian ini.

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

Simpan itu, dan kemudian restart redis-server.

sudo service redis-server restart atau jalankan saja redis-server


-5

Coba tingkatkan simpul Anda ke versi terbaru.

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

versi 0.4 mungkin tidak berfungsi dengan baik.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.