J'ai utilisé brew pour installer Redis (un serveur de base de données de clés/valeurs) pour mon application node.js.
brew install redis
Cependant, il semble disparaître et est très volatile. Parce que j'utilise redis comme magasin de session, je dois pouvoir le redémarrer rapidement sur mon mac lorsque cela se produit.
Comment redémarrer redis que j'ai installé avec brew?
J'ai trouvé toutes ces options listées dans le paquet d'infusion (brew info redis
) très buggées. Par exemple, redis génère beaucoup d'erreurs s'il n'est pas démarré avec root. J'ai fini par faire l'appel direct avec Sudo et supprimer les fichiers launchctl.
Sudo redis-server /usr/local/etc/redis.conf
J'espérais qu'il y avait un moyen de redémarrer facilement redis à partir de la ligne de commande, mais cela ne semble pas possible. Par conséquent, je lance avec le mode démon réglé sur 'no' et le regarde se connecter à stdout, je peux le tuer facilement.
update
les services de brassage ont expiré car personne ne veut le maintenir. vérifier ci-dessous: https://github.com/Homebrew/homebrew/issues/28657
vérifiez plutôt la fonction launchctl
.
ou lunchy
Donc au lieu de:
launchctl load ~/Library/LaunchAgents/io.redis.redis-server.plist
tu peux le faire:
lunchy start redis
et:
lunchy ls
références: https://github.com/eddiezane/lunchy
Il était en mesure d'utiliser comme ci-dessous:
brew services restart redis
devrait être la commande de redémarrage que vous voulez. Vous pouvez aussi courir
brew services list
qui vous donnera la liste de vos services de brassage.
À compter du 7 décembre 2015, vous pouvez utiliser brew services
.
Vous devez brew tap homebrew/services
et ensuite, le fonctionnement suivant fonctionnera comme prévu:
install brew install redis
start brew services start redis
stop brew services stop redis
redémarrer brew services restart redis
Plus d'infos ici: https://github.com/Homebrew/homebrew-services
Brew ne supporte plus la commande services
.
La méthode recommandée consiste à utiliser la commande launchctl
de os x.
Vous devez d’abord configurer redis en tant que service géré par launchctl:
$ ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents
Ensuite, vous pouvez utiliser launchctl load
/launchctl unload
pour démarrer/arrêter le service:
$ # start redis server
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
$
$ # stop redis server
$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
Pour Homebrew 1.5.14
redis-server