在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/)
广告
将在 10 秒后关闭
bannerAds