mac 安装使用 supervisor

安装supervisor

brew install supervisor

启动supervisord

sudo supervisord -c /usr/local/etc/supervisord.ini

nginx配置文件, usr/local/etc/supervisor.d/nginx.ini

[program:nginx]
command = /usr/local/bin/nginx  -g 'daemon off;' -c /usr/local/etc/nginx/nginx.conf
stdout_logfile=/Users/lzw/logs/supervisor/nginx/out.log
stderr_logfile=/Users/lzw/logs/supervisor/nginx/err.log
stdout_logfile_maxbytes=10MB
stderr_logfile_maxbytes=10MB
autostart=true
autorestart=true

启动 supervisorctl 客户端

sudo supervisorctl

supervisorctl常用指令

//查看状态
supervisor> status

//更新配置文件(配置文件有更新时使用)
supervisor> reread

//重启
supervisor> reload

//重启所有应用
supervisor> restart all

//重启指定应用
supervisor> restart 应用名

//删除指定应用
supervisor> remove 应用名

设置开机启动-新建plist

sudo vim /Library/LaunchDaemons/com.agendaless.supervisord.plist

设置开机启动-编辑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>KeepAlive</key>
    <dict>
        <key>SuccessfulExit</key>
        <false/>
    </dict>
    <key>Label</key>
    <string>com.agendaless.supervisord</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/supervisord</string>
        <string>-n</string>
        <string>-c</string>
        <string>/usr/local/etc/supervisord.ini</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

设置开机启动-注册plist

launchctl load /Library/LaunchDaemons/com.agendaless.supervisord.plist