Как перезапустить Redis, который я установил с Brew?


66

Я использовал brew для установки Redis (сервер базы данных хранилища ключей / значений) для моего приложения node.js.

brew install redis

Тем не менее, он, кажется, исчезает и очень изменчив. Поскольку я использую Redis в качестве хранилища сессий, мне нужно иметь возможность быстро перезапустить его на моем Mac, когда это произойдет.

Как перезапустить Redis, который я установил с Brew?

Ответы:


64

Обновить

Услуги brew истекли из-за того, что никто не хочет его поддерживать. проверьте ниже: https://github.com/Homebrew/homebrew/issues/28657

launchctlвместо этого проверьте функцию.

или же lunchy

Так что вместо:

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

ты можешь сделать это:

lunchy start redis

а также:

lunchy ls

ссылки: https://github.com/eddiezane/lunchy

Раньше можно было использовать, как показано ниже:

brew services restart redis

должна быть команда перезагрузки, которую вы хотите. Вы также можете запустить

brew services list

который даст вам список ваших услуг по пивоварению.


2
Мне пришлось переустановить Redis с Brew, чтобы получить его в списке запуска, тогда это работало нормально
Стюарт Нельсон

1
«Предупреждение: услуги brew не поддерживаются и будут удалены в ближайшее время».
user72923

2
Убрать такой полезный ярлык довольно глупо. Но это глючит, кстати. Я могу остановить Redis brew services, но после этого я не могу запустить его снова.
Phuong Nguyen

3
brew больше не поддерживает глагол "services" с 0.9.5
oDDsKooL

4
Обратите внимание , что квас делает поддерживает команду на услуги в настоящее время с помощью крана. Смотрите ответ ниже, это более актуальный ответ сейчас.
GrayedFox

38

По состоянию на 7 декабря 2015 года вы можете использовать brew services.

Вам нужно, brew tap homebrew/servicesа затем следующее будет работать, как ожидалось:

устанавливать brew install redis

Начало brew services start redis

стоп brew services stop redis

запустить снова brew services restart redis

Более подробная информация здесь: https://github.com/Homebrew/homebrew-services


противоречивый ответ выше говорит, что brew servicesне рекомендуется.
Чови

5
@chovy Они устарели из-за нехватки обслуживания, но теперь снова вернулись как варево . Как вы можете видеть последний коммит от 27 дней назад .
microspino

3
Это более актуальный и актуальный ответ сейчас, чем приведенный выше, и его быстрее реализовать, чем переходить вручную launchctl.
GrayedFox

2
Сейчас 2017 год, и я использую Brew v1.3.6, и он отлично работает.
Райан Тейлор

23

Brew больше не поддерживает servicesкоманду.

Рекомендуемый способ - использовать launchctlкоманду os x .

Сначала вам нужно настроить redis как сервис, управляемый launchctl:

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

Затем вы можете использовать launchctl load/ launchctl unloadдля запуска / остановки службы:

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

Службы поддержки brew 0.9.5, вот они $ brew --version Homebrew 0.9.5 (git revision bf22; последняя фиксация 2016-03-06) Список услуг $ brew Имя Статус Пользователь Plist postgresql остановлен Redis остановлен $
AMIC MING

19

Я обнаружил, что все эти опции, перечисленные в brew package ( brew info redis), очень ошибочны. Например, redis выдает кучу ошибок, если он не запущен с root. В итоге я просто сделал прямой вызов с помощью sudo и удалил файлы launchctl.

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

Я надеялся, что есть способ легко перезапустить Redis из командной строки, но это не представляется возможным. Поэтому я работаю с режимом демона, установленным на «нет», и наблюдаю за тем, как он записывается в стандартный вывод, тогда я могу легко его убить.


1
Я добавил эту команду с '& disown' к фону и оторвался от процесса
Бен Симпсон

2
Посмотрите другой ответ, который использует launchctl, он работает и теперь поддерживается рецептом варки.
oDDsKooL

1

Для доморощенного 1.5.14

redis-server


4
Добро пожаловать в Супер пользователя! Это дублирует информацию, представленную в другом ответе - можете ли вы вообще ее дифференцировать? :)
bertieb

Теперь это так же, как принятый ответ ! (Вы действительно должны просто удалить этот ответ.)
robinCTS

нет, это не так. Он включил путь к файлу conf. Понятно не то же самое и не обязательно. Я знаю, что не хочу вводить путь к файлу conf каждый раз, когда я запускаю и останавливаю Redis, и я думаю, что любой, кто читает это (кроме вас), сочтет это ценным.
Мигель Кодер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.