Помилка підключення до 127.0.0.1:6379 не вдалося - підключіть ECONNREFUSED


133

Я працюю з node.js від expressjs,
намагаюся зберігати обліковий запис до сеансу. Отже, я намагаюся перевірити, щоб використовувати сеанс з кодом у 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 }));

але я отримав повідомлення про помилку Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED.
Будь ласка, допоможіть мені вирішити цю проблему


3
Редіс працює? Чи можете ви підключитися до нього іншими способами, наприклад, redis-cli?
сумний чувак

3
Дякую u, оскільки сервер redis не працює. Встановлюю сервіс redis, виконуючи цей підручник
Хуй Тран

Ви повинні встановити сервер Redis на свою машину і запустити його. Я не знаю, чому автор не згадував про цю важливу річ у посібнику!
Емад Агаї

2
Як додати redis-сервер для свого вузла програми Heroku? У мене теж така ж помилка.
amar ghodke

Відповіді:


224

Після встановлення redis введіть з терміналу:

redis-server

і у вас буде червоний біг


3
Для мене слід вказати конф., Тому я набираю >> (sudo) redis-server /etc/redis/redis.conf
Римляни 8.38-39

4
Дякую. Дурне, як у підручнику вони ніколи не згадували, як запустити сервер redis!
Codious-JR

8
redis-server --daemonize yesбігати у фоновому режимі
Morteza Ziyae

61

Я вирішую цю проблему наступним чином:

sudo apt-get install redis-server

потім запустіть команду, щоб підтвердити, що все в порядку:

sudo service redis-server status

А вихід буде: redis-server is running- це означає, що проблема вирішена.


1
ця помилка виправлена, але тепер з’являється нова помилка, тобто "Помилка: помилка ERR неправильна кількість аргументів для команди" set "
vineet

1
Дякую! це вирішило проблему, лише невелика примітка в середовищах Linux / WSL після встановлення повторно запустити команду redis-serverабо при необхідності встановити префікс sudo. Якщо все піде добре, ви побачите повідомлення із клієнтом redis-сервера. також можна перевірити, sudo service redis-server statusяк запропонував @author.
просто будьте дивні

33

Спершу встановіть redis у вашу систему -

brew install redis

потім запустіть сервер redis -

redis-server


12

Просте рішення:

натисніть лише нижче, щоб похвалити один раз і перезавантажте сервер знову

redis-server

4

У мене також є та ж проблема, спершу я спробував перезапустити redis-сервер, sudo service restartале проблема все ще залишилася. Потім я зняв з redis-serverдопомогою sudo apt-get purge redis-serverі встановити його знову , sudo apt-get install redis-serverа потім Redis працював знову. Також варто поглянути на журнал redis, який знаходиться тут/var/log/redis/redis-server.log


4

для користувачів Windows, ви можете використовувати шоколад для встановлення Redis

choco install redis-64

потім запустіть сервер від

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



1

Для платформи Windows потрібно перевірити, чи redis-serverпрацює він на даному порту ip:. Ви можете знайти конфігурацію redis в каталозі інсталяції /conf/redis.conf. за замовчуванням клієнт прийняти 127.0.0.1:6379.


1

Я на MBP, і встановити REDIS деталі моя проблема була вирішена .Fixed завантаження, витягувати і компілювати Redis з:

$ 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

Бінарні файли, які зараз компілюються, доступні в каталозі src.

Запустити Redis за допомогою:

$ src/redis-server 

1

З'єднання з Redis не вдається. Спробуйте перезапустити сервер redis, а потім запустити клієнта знову, виконавши ці 3 команди:

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

3
Будь ласка, поясніть свою відповідь. Зараз він розглядається як повідомлення низької якості. Дякую!
Випадання

я отримав цю помилку в ubuntu ... вирішити за допомогою цих команд ... тепер він працює добре .....
Балакумаран

1

Я думаю, можливо, ви встановили redis за вихідним кодом. Якщо вам знадобиться, знайдіть redis-source-code-path / utils та запустіть sudo install_server.shкоманду. Після цього переконайтеся, що redis-сервер працює як служба для вашої системи sudo service redis-server status

PS: на основі Debian / Ubuntu


1

У випадку ubuntu помилка пов'язана з тим, що не встановлюється redis-сервер. Знову встановіть сервер redis і перевірте його стан.

Якщо помилки немає, то відображатиметься таке повідомлення:

● redis-server.service - Розширений магазин ключових значень Завантажений: завантажений (/lib/systemd/system/redis-server.service; увімкнено; попередньо встановлений постачальник: увімкнено) Активний: активний (працює) з ср. 2018-01-17 20 : 07: 27 IST; 16 років тому Документи: http://redis.io/documentation , людина: redis-сервер (1) Основний PID: 4327 (redis-сервер) CGroup: /system.slice/redis-server.service └─4327 / usr / bin / redis-сервер 127.0.0.1:6379


1

Ви повинні спочатку встановити сервер redis;

Ви можете встановити сервер redis на mac, виконавши наступний крок -

  $ 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

Удачі.


Будьте в курсі: для запуску знадобиться деякий час. Якщо у вас є менеджер залежності (пивоваріння чи інше), це заощадить ваш час.
lukas_o

0

Для мене ця проблема була на Ubuntu 18.x, але моя проблема полягала в тому, що мій сервер redis працює на 127.0.0.1, але я дізнався, що мені потрібно запустити його на моїй IP-адресі xxx.xx.xx.xx

Я зайшов у свою машину Ubuntu і зробив наступне.

cd /etc/redis/

sudo vim redis.conf

Потім я відредагував цю частину.

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

Збережіть це, а потім перезапустіть redis-сервер.

sudo service redis-server restart або просто бігти redis-server


-5

Спробуйте оновити вузол до останньої версії.

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

версія 0.4 може не працювати належним чином.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.