127.0.0.1:6379에서 Redis에 연결할 수 없음 : 홈브류로 연결이 거부되었습니다.
homebrew를 사용하여 Redis를 설치했지만 Redis에 ping을 시도하면이 오류가 표시됩니다.
Could not connect to Redis at 127.0.0.1:6379: Connection refused
참고 : 방화벽을 끄려고하는데 conf 파일도 편집 할 수 없습니다. macOS Sierra 및 Homebrew 버전 1.1.11을 사용하고 있습니다.
설치 후 다음을 redis
입력하십시오 terminal
.
redis-server
그리고 Redis-Server가 시작됩니다
을 통해 시작한 후 redis에 연결할 수없는 이유를 파악하는 동안이 질문을 발견했습니다 brew services start redis
.
tl; dr
머신 또는 설치가 얼마나 최신인지에 따라 redis 기본값에 대한 구성 파일 또는 디렉토리가 누락 될 수 있습니다.
에서 구성 파일이 필요합니다
/usr/local/etc/redis.conf
. 이 파일redis-server
이 없으면 시작되지 않습니다. 기본 구성 파일을 복사하고 여기에서 수정할 수 있습니다.cp /usr/local/etc/redis.conf.default /usr/local/etc/redis.conf
당신은
/usr/local/var/db/redis/
존재 해야 합니다. 쉽게 할 수 있습니다.mkdir -p /usr/local/var/db/redis
마지막으로 brew services restart redis
.
이걸 어떻게 알아!?
redis가 homebrew를 통해 기본값을 사용하지 않는지, 어떤 포트가 켜져 있는지 알아 내려고 많은 시간을 낭비했습니다. 서비스는 redis-server
실제로 시작되지 않았지만 brew services list
여전히 redis가 "시작됨"으로 표시 되기 때문에 오해의 소지 가있었습니다 . 가장 좋은 방법은 brew services --verbose start redis
로그 파일이에 있음을 보여주는 방법을 사용 하는 것 /usr/local/var/log/redis.log
입니다. 거기에서 나는 담배 총을 발견했습니다
Fatal error, can't open config file '/usr/local/etc/redis.conf'
또는
Can't chdir to '/usr/local/var/db/redis/': No such file or directory
고맙게도 로그는 위의 솔루션을 분명하게 만들었습니다.
그냥 뛰면 안 redis-server
돼?
당신은 확실히 할 수 있습니다. 을 실행하면 터미널을 차지하거나 가끔 터미널을 중단합니다 redis-server &
. 또한 dump.rdb
( pwd
) 에서 실행하는 디렉토리에 저장 됩니다 . 파일을 제거하거나 git에서 무시해야하는 불편 함이있어서 brew가 서비스 작업을 수행하게 할 것이라고 생각했습니다.
설치 후 항상 실행해야하는 경우 redis
터미널을 입력하십시오.
redis-server &
Ubuntu에서 upstart를 사용하여 redis 실행
우분투에서 처음부터 시스템을 설정하는 방법을 이해하려고 노력했습니다. 방금 redis
상자에 설치 했고 여기에 내가 어떻게했는지와 몇 가지주의 할 사항이 있습니다.
설치하기 위해서:
sudo apt-get install redis-server
그러면 redis
사용자 가 생성 되고 init.d
스크립트가 설치 됩니다. 때문에 upstart
지금있는 init.d를 사용하는 대체, 내가 사용하여 실행하도록 변환해야합니다 그림 upstart
.
에 대한 기본 init.d
스크립트 를 비활성화하려면 redis
:
sudo update-rc.d redis-server disable
그런 /etc/init/redis-server.conf
다음 다음 스크립트로 만듭니다 .
description "redis server"
start on runlevel [23]
stop on shutdown
exec sudo -u redis /usr/bin/redis-server /etc/redis/redis.conf
respawn
이것은 upstart
프로세스를 시작하기 위해 실행할 명령을 알기 위한 스크립트입니다 . 마지막 줄은 upstart
죽으면 리스폰을 계속 하라고 지시 합니다.
내가 변화했다 한 가지 /etc/redis/redis.conf
변화이다 daemonize yes
에 daemonize no
. 변경하지 않으면 redis-server
자체적으로 포크되고 데몬 화되고 상위 프로세스가 사라집니다. 이런 일이 발생 upstart
하면 프로세스가 종료 / 중지되었으며 내부에서 프로세스를 제어 할 수 없다고 생각 upstart
합니다.
이제 다음 명령을 사용하여 다음을 제어 할 수 있습니다 redis-server
.
sudo start redis-server
sudo restart redis-server
sudo stop redis-server
도움이 되었기를 바랍니다.
redis에 연결하는 더 좋은 방법입니다.
At first, check the ip address of redis server like this.
ps -ef | grep redis
The result is kind of " redis 1184 1 0 .... /usr/bin/redis-server 172.x.x.x:6379
And then you can connect to redis with -h(hostname) option like this.
redis-cli -h 172.x.x.x
In my case, it was the password that contained some characters like '
, after changing it the server started without problems.
I just had this same problem because I had used improper syntax in my config file. I meant to add:
maxmemory-policy allkeys-lru
to my config file, but instead only added:
allkeys-lru
which evidently prevented Redis from parsing the config file, which in turn prevented me from connecting through the cli. Fixing this syntax allowed me to connect to Redis.
Had that issue with homebrew MacOS
the problem was some sort of permission missing on /usr/local/var/log
directory see issue here
In order to solve it I deleted the /usr/local/var/log
and reinstall redis brew reinstall redis
First you need to up/start the all the redis nodes using below command, one by one for all conf files. @Note : if you are setting up cluster then you should have 6 nodes, 3 will be master and 3 will be slave.redis-cli will automatically select master and slave out of 6 nodes using --cluster command as shown in my below commands.
[xxxxx@localhost redis-stable]$ redis-server xxxx.conf
then run
[xxxxx@localhost redis-stable]$ redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1
output of above should be like:
>>> Performing hash slots allocation on 6 nodes...
2nd way to set up all things automatically: you can use utils/create-cluster scripts to set up every thing for you like starting all nodes, creating cluster you an follow https://redis.io/topics/cluster-tutorial
Thanks
'Programing' 카테고리의 다른 글
자바 논리 연산자 단락 (0) | 2020.09.08 |
---|---|
Kubernetes에서 컨테이너를 계속 실행하려면 어떻게해야합니까? (0) | 2020.09.08 |
위치 관리자 오류 : (KCLErrorDomain 오류 0) (0) | 2020.09.08 |
절대 위치 Div의 중앙 정렬 (0) | 2020.09.08 |
Stateless 및 Stateful Enterprise Java Bean (0) | 2020.09.08 |