Запуск Redis в качестве службы на OS X с Homebrew
Я установил Redis через brew install redis
и попытался добавить его в качестве службы через:
ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
Они не генерировали никаких ошибок; однако, похоже, что Redis не запускается. Если я бегу redis-cli ping
, Я вернусь Could not connect to Redis at 127.0.0.1:6379: Connection refused
,
Я могу вручную запустить redis-server
в другом окне терминала, но я бы хотел, чтобы Redis автоматически запускался при входе в систему.
Я также попытался удалить Redis, переустановить его и использовать brew services
управлять услугами (brew services
у меня отлично работает с инсталляциями MongoDB и Cassandra).
Я не видел, чтобы у других была эта проблема, поэтому я не уверен, как поставить диагноз. Если у кого-то есть какие-либо советы, высоко ценится!
3 ответа
Убедитесь , что вы сначала нажали на сервисы:
brew tap homebrew/services
тогда попробуйте:
brew services [start/stop/restart] redis
Вы также можете запустить и остановить Redis с помощью:
sudo launchctl start io.redis.redis-server
sudo launchctl stop io.redis.redis-server
чтобы сделать вашу жизнь проще, вы можете добавить псевдонимы для этих команд в ваш.bash_profile.
alias redisstart='sudo launchctl start io.redis.redis-server'
alias redisstop='sudo launchctl stop io.redis.redis-server'
тогда вы можете просто запустить и остановить Redis, набрав redisstart
а также redisstop
,
Еще один способ сделать это - добавить Redis в качестве фоновой службы:
sudo vim /Library/LaunchDaemons/io.redis.redis-server.plist
затем скопируйте и вставьте в файл следующее:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>io.redis.redis-server</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/redis-server</string>
<string>/usr/local/etc/redis.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
Возможно, вы отредактировали файл conf, чтобы демонизировать redis, когда вы раньше запускали redis вручную. Проверьте это и измените daemonize
в no
затем повторите попытку brew services