Como reinicio os redis que instalei com o brew?


66

Usei o brew para instalar o redis (um servidor de banco de dados de armazenamento de chave / valor) no meu aplicativo node.js.

brew install redis

No entanto, parece desaparecer e é muito volátil. Como estou usando o redis como meu repositório de sessões, preciso poder reiniciá-lo rapidamente no meu mac quando isso acontecer.

Como reinicio os redis que instalei com o brew?

Respostas:


64

atualizar

os serviços de fermentação expiraram devido a ninguém querer mantê-lo. verifique abaixo: https://github.com/Homebrew/homebrew/issues/28657

verifique a launchctlfunção.

ou lunchy

Então, em vez de:

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

você consegue fazer isso:

lunchy start redis

e:

lunchy ls

referências: https://github.com/eddiezane/lunchy

Costumava ser capaz de usar como abaixo:

brew services restart redis

deve ser o comando de reinicialização que você deseja. Você também pode executar

brew services list

que lhe dará uma lista dos seus serviços de preparação de cerveja.


2
Eu tive que re-instalar o Redis com cerveja para obtê-lo no plist inicialização, em seguida, isso funcionou bem
Stuart Nelson

11
"Aviso: os serviços de fermentação não são suportados e serão removidos em breve."
user72923

2
É muito estúpido remover esse atalho útil. Mas é um buggy por sinal. Posso parar com o redis brew services, mas depois disso não consigo iniciá-lo novamente.
Phuong Nguyen

3
brew não suporta mais o verbo "services" a partir de 0.9.5
oDDsKooL

4
Por favor note que cerveja faz suportar o comando agora os serviços que através de uma torneira. Veja a resposta abaixo, é uma resposta mais relevante agora.
precisa

38

Em 7 de dezembro de 2015 Você pode usar brew services.

Você precisa brew tap homebrew/servicese, em seguida, o seguinte funcionará conforme o esperado:

instalar brew install redis

começar brew services start redis

Pare brew services stop redis

reiniciar brew services restart redis

Mais informações aqui: https://github.com/Homebrew/homebrew-services


a resposta conflitante acima diz que brew servicesestá obsoleta.
Chovy

5
@chovy Eles foram descontinuados por falta de manutenção, mas agora estão de volta como uma torneira de fermentação . Como você pode ver, o último commit é de 27 dias atrás .
microspino

3
Esta é uma resposta mais relevante e atualizada agora do que as anteriores, e mais rápida de implementar do que seguir o launchctlcaminho manual .
precisa saber é o seguinte

2
É 2017 e estou usando o Brew v1.3.6 e isso funciona perfeitamente.
Ryan Taylor

23

O Brew não suporta mais o servicescomando.

A maneira recomendada é usar o launchctlcomando os x .

Primeiro, você precisa configurar o redis como um serviço gerenciado pelo launchctl:

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

Então você pode usar launchctl load/ launchctl unloadpara iniciar / parar o serviço:

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

serviços de suporte brew 0.9.5, aqui estão $ homebrew versão 0.9.5 (revisão git bf22; última confirmação 2016-03-06) $ lista de serviços brew Nome Status Usuário Usuário postgresql parado redis parado $
AMIC MING

19

Eu achei todas essas opções listadas no pacote brew ( brew info redis) muito complicadas. Por exemplo, o redis lança vários erros se não for iniciado com o root. Acabei fazendo a ligação direta com o sudo e removendo os arquivos launchctl.

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

Eu esperava que houvesse uma maneira de reiniciar facilmente os redis na linha de comando, mas isso não parece possível. Portanto, eu corro com o modo daemon definido como 'não' e assisto ao stdout, para que eu possa matá-lo facilmente.


11
Eu já anexado este comando com '& renegar' a fundo e desanexar do processo
Ben Simpson

2
Veja a outra resposta que usa launchctl, ela funciona e é suportada agora pela receita de preparação.
ODDsKooL

1

Para Homebrew 1.5.14

redis-server


4
Bem-vindo ao Super Usuário! Isso duplica as informações presentes em outra resposta - você pode diferenciá-las? :)
bertieb

Agora é o mesmo que a resposta aceita !! (Você realmente deve simplesmente apagar esta resposta.)
robinCTS

não, não é. Ele incluiu o caminho para um arquivo conf. Claramente não é o mesmo e não é obrigatório. Sei que não quero digitar o caminho para um arquivo conf toda vez que inicio e paro o Redis e acho que qualquer pessoa que esteja lendo isso (além de você) acharia isso valioso.
Miguel Coder
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.