Назад | Перейти на главную страницу

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

Я не видел, чтобы у других возникала эта проблема, поэтому я не знаю, как диагностировать. Если у кого-то есть совет, очень признателен!

сначала убедитесь, что вы воспользовались услугами:

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>

Возможно, вы отредактировали файл conf, чтобы демонизировать redis, если раньше вы запускали redis вручную. Проверьте это и измените daemonize к no, затем повторите попытку brew services

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist