在OS X上将Redis作为守护进程运行
安装
使用Homebrew安装Redis
brew install redis
创建执行组
确认正在使用的群组ID。
dscl . -list /Groups gid | sort -k 2 -n
创建一个将未使用的组ID指定为246的组(本例中)
sudo dscl . -create /Groups/_redis PrimaryGroupID 246
创建执行用户
确认正在使用的用户ID
dscl . -list /Users UniqueID | sort -k 2 -n
创建一个无法使用的登录用户,而不指定未使用的用户ID(在这种情况下,用户ID为247)。
sudo dscl . -create /Users/_redis UniqueID 247
sudo dscl . -create /Users/_redis UserShell /usr/bin/false
将刚刚创建的群组的群组ID指定为PrimaryGroupID。
sudo dscl . -create /Users/_redis PrimaryGroupID 246
将用户添加到wheel组中。
sudo dscl . -append /Groups/wheel GroupMembership _redis
创建plist文件
创建plist文件以在launchd中运行
sudo vim /Library/LaunchDaemons/io.redis.redis.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</string>
<key>Program</key>
<string>/usr/local/bin/redis-server</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/redis-server</string>
<string>/usr/local/etc/redis.conf</string>
</array>
<key>UserName</key>
<string>_redis</string>
<key>GroupName</key>
<string>_redis</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<dict>
<key>SuccessfulExit</key>
<false/>
</dict>
</dict>
</plist>
启动
将已创建的plist文件加载到launchd中,如果没有问题,就会自动启动。
sudo launchctl load /Library/LaunchDaemons/io.redis.redis.plist
如果不能启动,请检查以下目录是否具有执行用户/组的读写权限。
-
- (設定でdaemonize=yesにしている場合)pidファイルの出力先(/usr/local/var/run/)
-
- (設定でログを出力するようにしている場合)ログ出力先ディレクトリ
- rdbファイルの出力先(/use/local/db/redis/)