Jak ponownie uruchomić redis, który zainstalowałem z zaparzeniem?


62

Użyłem brew do zainstalowania redis (serwera bazy danych klucza / wartości sklepu) dla mojej aplikacji node.js.

brew install redis

Wydaje się jednak, że znika i jest bardzo niestabilny. Ponieważ używam redis jako mojego sklepu sesji, muszę być w stanie szybko go ponownie uruchomić na moim komputerze Mac, gdy to nastąpi.

Jak ponownie uruchomić redis, który zainstalowałem z zaparzeniem?

Odpowiedzi:


62

aktualizacja

usługi parzenia wygasły ze względu na to, że nikt nie chciał ich utrzymać. sprawdź poniżej: https://github.com/Homebrew/homebrew/issues/28657

czek launchctl zamiast tego

lub lunchy

Więc zamiast:

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

możesz to zrobić:

lunchy start redis

i:

lunchy ls

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

Kiedyś można było używać jak poniżej:

brew services restart redis

powinno być polecenie restartu. Możesz również uruchomić

brew services list

który da ci listę twoich usług piwowarskich.


2
Musiałem ponownie zainstalować redis z naparem, aby uzyskać go w plist startowym, to działało dobrze
Stuart Nelson

1
„Ostrzeżenie: usługi parzenia nie są obsługiwane i zostaną wkrótce usunięte”.
user72923

2
To dość głupie, aby usunąć taki użyteczny skrót. Ale tak na marginesie. Mogę powstrzymać redisowanie brew services, ale potem nie mogę go uruchomić ponownie.
Phuong Nguyen

3
napar nie obsługuje już czasownika „services” od wersji 0.9.5
oDDsKooL

4
Pamiętaj, że napar robi obsługuj teraz polecenie usług za pomocą kranu. Zobacz odpowiedź poniżej, jest to teraz bardziej odpowiednia odpowiedź.
GrayedFox

35

Od 7 grudnia 2015 Możesz użyć brew services.

Musisz brew tap homebrew/services a następnie będą działać zgodnie z oczekiwaniami:

zainstalować brew install redis

początek brew services start redis

zatrzymać brew services stop redis

uruchom ponownie brew services restart redis

Więcej informacji tutaj: https://github.com/Homebrew/homebrew-services


sprzeczna odpowiedź powyżej mówi brew services jest przestarzałe.
chovy

5
@chovy Zostały zdeprecjonowane z powodu braku konserwacji, ale teraz są z powrotem jako zaparzać kran . Jak widać, ostatnie zatwierdzenie pochodzi z 27 dni temu .
microspino

3
Jest to teraz bardziej odpowiednia i aktualna odpowiedź niż powyższe, i szybsza do wdrożenia niż ręczna launchctl sposób.
GrayedFox

2
Jest 2017 i używam Brew v1.3.6 i działa to doskonale.
Ryan Taylor

23

Brew nie obsługuje services polecenie już.

Zalecanym sposobem jest użycie os x launchctl dowództwo.

Najpierw musisz ustawić redis jako usługę zarządzaną przez launchctl:

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

Następnie możesz użyć launchctl load / launchctl unload aby uruchomić / zatrzymać usługę:

$ # start redis server
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
$
$ # stop redis server
$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

napisz 0.9.5 usługi wsparcia, tutaj są $ brew --version Homebrew 0.9.5 (git revision bf22; ostatnie zatwierdzenie 2016-03-06) $ brew services list Nazwa Status User Plist postgresql stop redis stop $
AMIC MING

19

Znalazłem wszystkie te opcje wymienione w opakowaniu napoju ( brew info redis ) być bardzo wadliwym. Na przykład redis zgłasza kilka błędów, jeśli nie jest uruchomiony z rootem. Skończyło się na bezpośrednim wywołaniu sudo i usunięciu plików launchctl.

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

Miałem nadzieję, że istnieje sposób na łatwe ponowne uruchomienie redis z linii poleceń, ale to nie wydaje się możliwe. Dlatego uruchamiam z trybem demona ustawionym na „nie” i obserwuję, jak loguje się na standardowe wyjście, a następnie mogę go łatwo zabić.


1
Dodałem to polecenie za pomocą & amp; wyrzucić się na dalszy plan i odłączyć się od procesu
Ben Simpson

2
Zobacz inną odpowiedź, która używa launchctl, działa i jest teraz obsługiwany przez recepturę naparu.
oDDsKooL

1

Dla Homebrew 1.5.14

redis-server


4
Witamy w Super Użytkowniku! To powiela informacje zawarte w kolejna odpowiedź - czy możesz w ogóle to odróżnić? :)
bertieb

Teraz jest tak samo jak zaakceptowana odpowiedź !! (Naprawdę powinieneś po prostu usunąć tę odpowiedź.)
robinCTS

nie, nie jest. Zawarł ścieżkę do pliku konf. Oczywiście nie to samo i nie jest wymagane. Wiem, że nie chcę wpisywać ścieżki do pliku conf za każdym razem, gdy zaczynam i zatrzymuję Redis i myślę, że każdy, kto to przeczyta (oprócz ciebie), uzna to za cenne.
Miguel Coder
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.