Używam homebrew do zainstalowania Redis, ale kiedy próbuję pingować Redis, pokazuje ten błąd:
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Uwaga: próbowałem wyłączyć zaporę i edytować plik konfiguracyjny, ale nadal nie mogę pingować. Używam macOS Sierra i homebrew w wersji 1.1.11
redis
redis-server
bufei
źródło
źródło
cd C:\Program Files\Redis
a następnieredis-server
Znalazłem to pytanie, próbując dowiedzieć się, dlaczego nie mogłem połączyć się z redisem po uruchomieniu go przez
brew services start redis
.tl; dr
W zależności od tego, jak świeży jest twój komputer lub instalacja, prawdopodobnie brakuje pliku konfiguracyjnego lub katalogu dla domyślnych ustawień redis.
Potrzebujesz pliku konfiguracyjnego w
/usr/local/etc/redis.conf
. Bez tego plikuredis-server
nie wystartuje. Możesz skopiować domyślny plik konfiguracyjny i zmodyfikować go stamtąd za pomocąMusisz
/usr/local/var/db/redis/
istnieć. Możesz to łatwo zrobić za pomocąWreszcie po prostu uruchom ponownie redis z
brew services restart redis
.Jak się tego dowiedziałeś !?
Zmarnowałem dużo czasu, próbując dowiedzieć się, czy redis nie używa domyślnych ustawień przez homebrew i na jakim porcie się znajduje. Usługi wprowadzały w błąd, ponieważ mimo że w
redis-server
rzeczywistości nie zostały uruchomione,brew services list
nadal wyświetlałyby redis jako „rozpoczęte”. Najlepszym podejściem jest użycie,brew services --verbose start redis
które pokaże, że plik dziennika jest pod adresem/usr/local/var/log/redis.log
. Patrząc tam, znalazłem dymiący pistolet (y)lub
Na szczęście w dzienniku powyższe rozwiązanie było oczywiste.
Nie mogę po prostu biec
redis-server
?Pewnie, że możesz. Po prostu zajmie terminal lub od czasu do czasu przerwie twój terminal, jeśli uruchomisz
redis-server &
. Umieści równieżdump.rdb
w dowolnym katalogu, w którym go uruchomisz (pwd
). Zdenerwowałem się, że muszę usunąć plik lub zignorować go w git, więc pomyślałem, że pozwolę brew na pracę z usługami.źródło
Jeśli po instalacji musisz działać
redis
przez cały czas, po prostu wpisz terminal:redis-server &
Uruchamianie redis przy użyciu upstart w systemie Ubuntu
Próbowałem zrozumieć, jak skonfigurować systemy od podstaw na Ubuntu. Właśnie zainstalowałem
redis
na pudełku i oto jak to zrobiłem i kilka rzeczy, na które należy zwrócić uwagę.Żeby zainstalować:
Spowoduje to utworzenie
redis
użytkownika i zainstalowanieinit.d
dla niego skryptu. Ponieważupstart
jest to teraz zamiennik dla używania init.d, myślę, że powinienem go przekonwertować do uruchamiania przy użyciuupstart
.Aby wyłączyć domyślny
init.d
skrypt dlaredis
:Następnie utwórz
/etc/init/redis-server.conf
za pomocą następującego skryptu:Do czego służy skrypt,
upstart
aby wiedzieć, jakie polecenie uruchomić, aby rozpocząć proces. Ostatnia linia mówi również,upstart
aby próbować odrodzić się, jeśli zginie.Jedną z rzeczy, musiałem zmienić w
/etc/redis/redis.conf
todaemonize yes
, abydaemonize no
. Co się stanie, jeśli tego nie zmienisz,redis-server
rozwidli się i daemonizuje, a proces nadrzędny znika. Kiedy tak się dzieje,upstart
myśli, że proces zakończył się / zatrzymał i nie będziesz mieć kontroli nad procesem od wewnątrzupstart
.Teraz możesz używać następujących poleceń do sterowania
redis-server
:Mam nadzieję, że to było pomocne!
źródło
To lepszy sposób na połączenie się z redis.
Najpierw sprawdź w ten sposób adres IP serwera redis.
Wynik to rodzaj „redis 1184 1 0 .... / usr / bin / redis-server 172.xxx:6379
Następnie możesz połączyć się z redis za pomocą opcji -h (nazwa hosta) w ten sposób.
źródło
W moim przypadku to hasło zawierało kilka znaków, np.
'
Po jego zmianie serwer startował bez problemów.źródło
Ta praca dla mnie:
źródło
Po prostu miałem ten sam problem, ponieważ użyłem niewłaściwej składni w moim pliku konfiguracyjnym. Chciałem dodać:
maxmemory-policy allkeys-lru
do mojego pliku konfiguracyjnego, ale zamiast tego dodano tylko:
allkeys-lru
co ewidentnie uniemożliwiło Redis przeanalizowanie pliku konfiguracyjnego, co z kolei uniemożliwiło mi połączenie się przez CLI. Naprawienie tej składni pozwoliło mi połączyć się z Redis.
źródło
Gdyby ten problem z
homebrew MacOS
problemem polegał na braku uprawnień w/usr/local/var/log
katalogu, patrz problem tutajAby go rozwiązać,
/usr/local/var/log
usunąłem i ponownie zainstalowałem redisbrew reinstall redis
źródło
Najpierw musisz uruchomić / uruchomić wszystkie węzły redis za pomocą poniższego polecenia, jeden po drugim dla wszystkich plików conf. @ Uwaga: jeśli konfigurujesz klaster, powinieneś mieć 6 węzłów, 3 będą nadrzędne, a 3 podrzędne. Redis-cli automatycznie wybierze nadrzędny i podrzędny z 6 węzłów za pomocą polecenia --cluster, jak pokazano w moich poniższych poleceniach .
następnie uruchomić
wyjście powyższego powinno wyglądać następująco:
Drugi sposób na automatyczną konfigurację wszystkich rzeczy: możesz użyć narzędzi / skryptów tworzenia klastra, aby skonfigurować wszystko dla siebie, na przykład uruchamianie wszystkich węzłów, tworzenie klastra, który będziesz obserwować https://redis.io/topics/cluster-tutorial
Dzięki
źródło
Tak jak Aaron , w moim przypadku
brew services list
twierdził, że redis działa, ale tak nie było. Znalazłem następujące informacje w moim pliku dziennika pod adresem/usr/local/var/log/redis.log
:Okazuje się, że jest to spowodowane następującą konfiguracją:
co było konieczne, aby moja maszyna wirtualna VMWare Fusion miała dostęp do serwera redis w systemie macOS, który jest hostem. Jednakże, jeżeli maszyna wirtualna nie została uruchomiona, awaria spowodowana wiązania Redis nie uruchamia się w ogóle . Uruchomienie maszyny wirtualnej rozwiązało problem.
źródło
Spróbuj tego :
źródło