安装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