Запуск 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

Другие вопросы по тегам