Як перезапустити redis, який я встановив за допомогою варіння?


66

Я використовував Brew для встановлення redis (сервер бази даних ключів / цінностей) для свого додатка node.js.

brew install redis

Однак він, здається, зникає і дуже мінливий. Оскільки я використовую redis як свій сесійний магазин, мені потрібно мати можливість швидко перезапустити його на своєму mac, коли це станеться.

Як перезапустити redis, який я встановив за допомогою варіння?

Відповіді:


64

оновлення

Термін дії пивоваріння закінчився через те, що ніхто не хоче його підтримувати. перевірити нижче: https://github.com/Homebrew/homebrew/isissue/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
"Попередження: послуги пивоваріння не підтримуються і незабаром буде видалено."
— користувач72923

2
Видалити такий корисний ярлик досить глупо. Але це, до речі, баггі. Я можу припинити повторне використання brew services, але після цього я не можу запустити його знову.
— Пхуонг Нгуєн

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 днів тому .
— мікроспіно

3
Це більш відповідна і сучасна відповідь зараз, ніж вищезазначені, та швидша у здійсненні, ніж ручний launchctlшлях.
— GrayedFox

2
Настав 2017 рік, і я використовую Brew v1.3.6, і це працює чудово.
— Райан Тейлор

23

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

Рекомендований спосіб - використовувати launchctlкоманду os x .

Спочатку вам потрібно налаштувати redis як службу, якою керує startctl:

$ 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 Послуги списку Ім'я Статус Список Список користувачів postgresql зупинився redis stop $
— AMIC MING

19

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

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

Я сподівався, що існує спосіб легко перезапустити redis з командного рядка, але це не здається можливим. Тому я запускаю з демоновим режимом, встановленим на "ні", і спостерігаю, як він записується до stdout, тоді я можу його легко вбити.


1
Я додав цю команду "і відхилити" до тла та відірвався від процесу
— Бен Сімпсон

2
Дивіться іншу відповідь, яка використовує launchctl, вона працює і підтримується зараз рецептом заварки.
— oDDsKooL

1

Для домашньої версії 1.5.14

redis-server


4
Ласкаво просимо до Супер Користувача! Це дублює інформацію, що присутня в іншій відповіді - чи можна взагалі її розмежувати? :)
— bertieb

Тепер це те саме, що прийнята відповідь !! (Ви дійсно повинні просто видалити цю відповідь.)
— robinCTS

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