Wie starte ich redis neu, das ich mit brew installiert habe?

66

Ich habe brew verwendet, um redis (einen Schlüssel- / Wertspeicher-Datenbankserver) für meine node.js-App zu installieren.

brew install redis

Es scheint jedoch zu verschwinden und ist sehr volatil. Da ich redis als Sitzungsspeicher verwende, muss ich es in diesem Fall schnell auf meinem Mac neu starten können.

Wie starte ich redis neu, das ich mit brew installiert habe?

chovy
quelle

Antworten:

64

aktualisieren

Die Brau-Services sind abgelaufen, weil niemand sie warten möchte. Überprüfen Sie unten: https://github.com/Homebrew/homebrew/issues/28657

überprüfen Sie launchctlstattdessen die Funktion.

oder lunchy

Also statt:

launchctl load ~/Library/LaunchAgents/io.redis.redis-server.plist

du kannst das:

lunchy start redis

und:

lunchy ls

Referenzen: https://github.com/eddiezane/lunchy

Früher konnte es wie folgt verwendet werden:

brew services restart redis

sollte der Neustart-Befehl sein, den Sie wollen. Du kannst auch rennen

brew services list

Hier finden Sie eine Liste Ihrer Brühdienste.

Ken
quelle
2
Ich musste Redis mit Brew neu installieren, um es in die Startliste zu bekommen, dann funktionierte dies einwandfrei
Stuart Nelson
1
"Warnung: Brühdienste werden nicht unterstützt und werden bald entfernt."
user72923
2
Es ist ziemlich dumm, eine solche nützliche Verknüpfung zu entfernen. Aber es ist übrigens fehlerhaft. Ich kann mit Redis aufhören brew services, aber danach kann ich es nicht erneut starten.
Phuong Nguyen
3
brew unterstützt das Verb "services" seit
0.9.5
4
Bitte beachten Sie, dass Gebräu macht den Befehl der Dienste über einen Hahn jetzt unterstützen. Siehe die Antwort unten, es ist jetzt eine relevantere Antwort.
GrayedFox
38

Ab dem 7. Dezember 2015 können Sie verwenden brew services.

Sie müssen brew tap homebrew/servicesund dann wird das Folgende wie erwartet funktionieren:

Installieren brew install redis

Anfang brew services start redis

halt brew services stop redis

Neustart brew services restart redis

Weitere Informationen hier: https://github.com/Homebrew/homebrew-services

microspino
quelle
Die obige widersprüchliche Antwort brew serviceslautet "veraltet".
Chovy
5
@chovy Sie wurden als veraltet wegen mangelnder Wartung, sind aber jetzt wieder als Gebräu Hahn . Wie Sie sehen können, ist das letzte Commit von vor 27 Tagen .
Microspino
3
Dies ist eine relevantere und aktuellere Antwort als die oben genannten und schneller zu implementieren als manuell launchctl.
GrayedFox
2
Es ist 2017 und ich benutze Brew v1.3.6 und das funktioniert einwandfrei.
Ryan Taylor
23

Brew unterstützt den servicesBefehl nicht mehr.

Die empfohlene Methode ist die Verwendung des launchctlBefehls os x .

Zuerst müssen Sie redis als Dienst einrichten, der von launchctl verwaltet wird:

$ ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents

Dann können Sie den Dienst mit launchctl load/ launchctl unloadstarten / stoppen:

$ # start redis server
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
$
$ # stop redis server
$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
oDDsKooL
quelle
Gebräu 0.9.5 Support - Services, hier sind sie $ brauen --Version Homebrew 0.9.5 (git Revision BF22; letzte commit 2016.03.06) $ brauen Dienste Liste Name Status Benutzer Plist postgresql gestoppt redis $ gestoppt
AMIC MING
19

Ich fand all diese Optionen, die in brew package ( brew info redis) aufgelistet sind , sehr fehlerhaft. Redis löst beispielsweise eine Reihe von Fehlern aus, wenn es nicht mit root gestartet wird. Am Ende habe ich nur den Direktaufruf mit sudo ausgeführt und die launchctl-Dateien entfernt.

sudo redis-server /usr/local/etc/redis.conf

Ich hatte gehofft, es gäbe eine Möglichkeit, Redis über die Befehlszeile neu zu starten, aber das scheint nicht möglich zu sein. Aus diesem Grund starte ich mit dem Daemon-Modus 'no' und beobachte, wie er sich bei stdout anmeldet. Dann kann ich ihn leicht beenden.

chovy
quelle
1
Ich habe diesen Befehl mit '& disown' an den Hintergrund angehängt und mich vom Prozess
Ben Simpson,
2
Siehe die andere Antwort, die verwendet wird launchctl, funktioniert und wird jetzt durch das Brührezept unterstützt.
oDDsKooL
1

Für Homebrew 1.5.14

redis-server

Miguel Coder
quelle
4
Willkommen bei Super User! Dies dupliziert Informationen, die in einer anderen Antwort enthalten sind - können Sie sie überhaupt unterscheiden? :)
Bertieb
Jetzt ist es dasselbe wie die akzeptierte Antwort !! (Du solltest diese Antwort wirklich einfach löschen.)
robinCTS
Nein, ist es nicht. Er fügte den Pfad zu einer Conf-Datei hinzu. Offensichtlich nicht dasselbe und nicht erforderlich. Ich weiß, dass ich nicht jedes Mal, wenn ich Redis starte und stoppe, den Pfad zu einer Conf-Datei eingeben möchte.
Miguel Coder