Wenn Sie Redis mit Homebrew installieren, wird beim Versuch, Redis zu pingen, der folgende Fehler angezeigt:
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Hinweis: Ich habe versucht, die Firewall auszuschalten und die Conf-Datei zu bearbeiten, kann aber immer noch nicht pingen. Ich verwende macOS Sierra und Homebrew Version 1.1.11
redis
redis-server
bufei
quelle
quelle
cd C:\Program Files\Redis
und dannredis-server
Ich habe diese Frage gefunden, als ich versucht habe herauszufinden, warum ich nach dem Starten über keine Verbindung zu Redis herstellen konnte
brew services start redis
.tl; dr
Je nachdem, wie frisch Ihr Computer oder Ihre Installation ist, fehlt Ihnen wahrscheinlich eine Konfigurationsdatei oder ein Verzeichnis für die Redis-Standardeinstellungen.
Sie benötigen eine Konfigurationsdatei unter
/usr/local/etc/redis.conf
. Ohne diese Dateiredis-server
wird nicht gestartet. Sie können die Standardkonfigurationsdatei kopieren und von dort mit ändernDu musst
/usr/local/var/db/redis/
existieren. Sie können dies leicht mit tunZum Schluss einfach Redis mit neu starten
brew services restart redis
.Wie findest du das heraus?
Ich habe viel Zeit damit verschwendet, herauszufinden, ob Redis die Standardeinstellungen nicht über Homebrew verwendet und an welchem Port sie sich befinden. Services waren irreführend, da Redis, obwohl sie
redis-server
noch nicht gestartet wurden,brew services list
immer noch als "gestartet" angezeigt werden. Der beste Ansatz ist die Verwendung,brew services --verbose start redis
die Ihnen zeigt, dass sich die Protokolldatei befindet/usr/local/var/log/redis.log
. Als ich dort hineinschaute, fand ich die rauchende (n) Waffe (n)oder
Zum Glück machte das Protokoll die obige Lösung offensichtlich.
Kann ich nicht einfach rennen
redis-server
?Sie können sicher. Es nimmt nur ein Terminal in Anspruch oder unterbricht Ihr Terminal gelegentlich, wenn Sie ausgeführt werden
redis-server &
. Außerdem wird esdump.rdb
in das Verzeichnis gestellt, in dem Sie es ausführen (pwd
). Ich ärgerte mich, dass ich die Datei entfernen oder in Git ignorieren musste, also dachte ich mir, ich würde Brew die Arbeit mit Diensten machen lassen.quelle
Wenn Sie nach der Installation immer laufen müssen
redis
, geben Sie einfach Terminal ein:redis-server &
Ausführen von Redis mit Upstart unter Ubuntu
Ich habe versucht zu verstehen, wie man Systeme unter Ubuntu von Grund auf einrichtet. Ich habe gerade installiert
redis
auf der Box und hier ist, wie ich es gemacht habe und einige Dinge, auf die ich achten muss.Installieren:
Dadurch wird ein
redis
Benutzer erstellt und dasinit.d
Skript dafür installiert . Daupstart
es jetzt der Ersatz für die Verwendung von init.d ist, sollte ich es konvertieren, um es mit auszuführenupstart
.So deaktivieren Sie das Standardskript
init.d
fürredis
:Dann erstellen Sie
/etc/init/redis-server.conf
mit dem folgenden Skript:Wofür dies das Skript ist, um
upstart
zu wissen, welcher Befehl ausgeführt werden muss, um den Prozess zu starten. Die letzte Zeile sagt auchupstart
man weiterhin versuchen soll, wieder zu erscheinen, wenn es stirbt.Eine Sache, die ich ändern musste,
/etc/redis/redis.conf
istdaemonize yes
zudaemonize no
. Was passiert, wenn Sie es nicht ändern,redis-server
wird sich selbst verzweigen und dämonisieren, und der übergeordnete Prozess verschwindet. Wenn dies passiert,upstart
denken Sie, dass der Prozess gestorben / gestoppt ist und Sie keine Kontrolle über den Prozess von innen habenupstart
.Jetzt können Sie die folgenden Befehle verwenden, um Ihre zu steuern
redis-server
:Hoffe das war hilfreich!
quelle
Dies ist der bessere Weg, um eine Verbindung zu Ihren Redis herzustellen.
Überprüfen Sie zunächst die IP-Adresse des Redis-Servers wie folgt.
Das Ergebnis ist eine Art "redis 1184 1 0 .... / usr / bin / redis-server 172.xxx:6379
Und dann können Sie mit der Option -h (Hostname) wie folgt eine Verbindung zu redis herstellen.
quelle
In meinem Fall war es das Passwort, das einige Zeichen enthielt, wie
'
nach dem Ändern startete der Server ohne Probleme.quelle
Ich hatte gerade das gleiche Problem, weil ich in meiner Konfigurationsdatei eine falsche Syntax verwendet hatte. Ich wollte hinzufügen:
maxmemory-policy allkeys-lru
zu meiner Konfigurationsdatei, aber stattdessen nur hinzugefügt:
allkeys-lru
Dies hat Redis offensichtlich daran gehindert, die Konfigurationsdatei zu analysieren, was mich wiederum daran gehindert hat, eine Verbindung über die CLI herzustellen. Durch das Korrigieren dieser Syntax konnte ich eine Verbindung zu Redis herstellen.
quelle
Hatte dieses Problem mit
homebrew MacOS
dem Problem eine Art Berechtigung, die im/usr/local/var/log
Verzeichnis fehlte, siehe Problem hierUm es zu lösen, habe ich das gelöscht
/usr/local/var/log
und redis neu installiertbrew reinstall redis
quelle
Zuerst müssen Sie alle Redis-Knoten mit dem folgenden Befehl einzeln für alle conf-Dateien starten / starten. @Hinweis: Wenn Sie einen Cluster einrichten, sollten Sie 6 Knoten haben, 3 sind Master und 3 sind Slave. Redis-cli wählt automatisch Master und Slave aus 6 Knoten mit dem Befehl --cluster aus, wie in den folgenden Befehlen gezeigt .
dann renne
Die Ausgabe von oben sollte wie folgt aussehen:
2. Möglichkeit, alle Dinge automatisch einzurichten: Sie können Utils / Create-Cluster-Skripte verwenden, um alles für Sie einzurichten, z. B. alle Knoten zu starten und einen Cluster zu erstellen, dem Sie folgen https://redis.io/topics/cluster-tutorial
Vielen Dank
quelle
Diese Arbeit für mich:
quelle
Genau wie Aaron , in meinem Fall
brew services list
behauptete Redis lief, aber es war nicht. Ich habe die folgenden Informationen in meiner Protokolldatei unter gefunden/usr/local/var/log/redis.log
:Dies wird durch die folgende Konfiguration verursacht:
Dies war erforderlich, um meiner virtuellen VMWare Fusion-Maschine Zugriff auf den Redis-Server unter macOS, dem Host, zu gewähren. Wenn die virtuelle Maschine jedoch nicht gestartet wurde, führte dieser Bindungsfehler dazu, dass Redis nicht gestartet wurde überhaupt . Das Starten der virtuellen Maschine löste das Problem.
quelle
Versuche dies :
quelle