127.0.0.1:6379에 대한 Redis 연결에 실패했습니다. ECONNREFUSED에 연결하십시오.


133

expressjs로 node.js
를 사용하여 세션에 계정을 저장하려고합니다. 그래서 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가 실행 중입니까? redis-cli와 같은 다른 방법으로 연결할 수 있습니까?
슬픈 친구

3
redis 서버가 실행 중이 아니기 때문에 감사합니다. Redis-server를 설치합니다. 이 튜토리얼을
Huy Tran

머신에 Redis 서버를 설치하고 실행해야합니다. 저자가 매뉴얼에서이 중요한 것을 언급하지 않은 이유를 모르겠습니다!
Emad Aghayi 2019

2
노드 Heroku 앱에 redis-server를 어떻게 추가합니까? 또한 같은 오류가 있습니다.
amar ghodke

답변:


224

redis를 설치 한 후 터미널에서 입력하십시오 :

redis-server

그리고 당신은 redis를 실행합니다


3
나를 위해 conf를 지정해야하므로 >> (sudo) redis-server /etc/redis/redis.conf
Romans 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
해당 오류는 수정되었지만 이제는 새 오류 표시 (예 : "오류 : 'set'명령에 잘못된 수의 인수를 ERR")
vineet

1
감사! 이로 인해 문제가 해결되었습니다. 설치 후 Linux / WSL 환경에 대한 작은 메모만으로 명령을 다시 실행 redis-server하거나 필요한 경우 sudo로 접두사를 추가하십시오. 모든 것이 잘 진행되면 redis-server cli 메시지가 나타납니다. sudo service redis-server status@author가 제안한대로 확인할 수도 있습니다 .
단지 - 수 - 이상한

33

먼저 시스템에 redis를 설치하십시오-

brew install redis

그런 다음 redis 서버를 시작하십시오-

redis-server


12

간단한 해결책 :

아래에서 한 번만 추천하고 서버를 다시 시작하십시오.

redis-server

4

또한 같은 문제가 있습니다. 먼저 redis-server를 다시 시작하려고 sudo service restart했지만 문제는 여전히 남아 있습니다. 그럼 난 제거 redis-serversudo apt-get purge redis-server하고 다시 설치 sudo apt-get install redis-server한 후 레디 스 다시 일하고 있었다. 또한 여기에있는 redis 로그를 살펴볼 가치가 있습니다./var/log/redis/redis-server.log


4

Windows 사용자의 경우 chocolatey를 사용하여 Redis를 설치할 수 있습니다

choco install redis-64

그런 다음 서버를 실행하십시오.

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


3

Windows 10을 사용하십니까? 여기로 이동하십시오 : https://docs.microsoft.com/en-us/windows/wsl/wsl2-install

그런 다음 실행 ...

    $ wget https://github.com/antirez/redis/archive/5.0.5.tar.gz <- change this to whatever Redis version you want (https://github.com/antirez/redis/releases)
    $ tar xzf redis-5.0.5.tar.gz
    $ cd redis-5.0.5
    $ make

1

Windows 플랫폼의 경우 redis-server지정된 ip : port에서 실행 중인지 확인해야합니다 . 설치 디렉토리에서 redis 구성을 찾을 수 있습니다 /conf/redis.conf. 기본적으로 client accept 127.0.0.1:6379.


1

MBP를 사용하고 있으며 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
답을 설명하십시오. 현재 품질이 낮은 게시물로 간주됩니다. 감사!
Dropout

우분투 에서이 오류가 발생했습니다 ...이 명령으로 해결하십시오 .. 지금 잘 작동합니다 .....
Balakumaran

1

소스 코드로 redis를 설치했다고 생각되면 redis-source-code-path / utils를 찾아 sudo install_server.sh명령을 실행해야합니다. 그 후, redis-server가 시스템의 서비스로 실행되고 있는지 확인하십시오 sudo service redis-server status

PS : 데비안 / 우분투 기반


1

우분투의 경우 오류는 redis-server가 설정되지 않았기 때문입니다. redis-server를 다시 설치 한 후 상태를 확인하십시오.

오류가 없으면 다음과 같은 메시지가 표시됩니다.

● redis-server.service-고급 키-값 저장소로드 됨 :로드 됨 (/lib/systemd/system/redis-server.service; 활성화 됨; 공급 업체 사전 설정 : 활성화 됨) 활성 : Wed 이후 활성 (실행 중) 2018-01-17 20 : 07 : 27 IST; 16 초 전 문서 : http://redis.io/documentation , man : redis-server (1) 기본 PID : 4327 (redis-server) C 그룹 : /system.slice/redis-server.service └─4327 / usr / bin / redis-server 127.0.0.1:6379


1

먼저 redis 서버를 설치해야합니다.

다음 단계에 따라 Mac에 redis 서버를 설치할 수 있습니다-

  $ 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

행운을 빕니다.


주의 : 실행하는 데 시간이 다소 걸립니다. 종속성 관리자 (brew 또는 기타)가 있으면 시간을 절약 할 수 있습니다.
lukas_o

0

나에게 Ubuntu 18.x 에서이 문제가 있었지만 내 문제는 내 redis-server가 127.0.0.1에서 실행되고 있지만 내 IP 주소 xxx.xx.xx.xx에서 실행해야한다는 것을 알았습니다.

우분투 머신에 들어가서 다음을 수행했습니다.

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-server를 다시 시작하십시오.

sudo service redis-server restart 또는 단순히 실행 redis-server


-5

노드를 최신 버전으로 업그레이드하십시오.

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

버전 0.4가 제대로 작동하지 않을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.