1.安装:supervisor
命令:brew install supervisor
安装日志:
augdais-MacBook-Pro:src augdai$ brew install supervisor
==> Downloading https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/bottles/su
######################################################################## 100.0%
==> Pouring supervisor-3.3.4.high_sierra.bottle.tar.gz
==> Caveats
To have launchd start supervisor now and restart at login:
brew services start supervisor
Or, if you don't want/need a background service you can just run:
supervisord -c /usr/local/etc/supervisord.ini
==> Summary
/usr/local/Cellar/supervisor/3.3.4: 526 files, 6.5MB
2.配置supervisord.conf
supervisord 提供了一个模板文件,执行下面shell文件或者输出到文件中,改改就可以用了
命令:cd /usr/local/Cellar/supervisor/3.3.4/bin
执行下面命令:
echo_supervisord_conf
#或者
echo_supervisord_conf > supervisord.conf
打开supervisord.conf文件,写入自定义配置:
[program:theprogramname]
command=php /Applications/MAMP/htdocs/edu.amin/artisan queue:work
autostart=true
autorestart=true
user=augdai
stdout_logfile=/Users/augdai/wwwlogs/out.log
stderr_logfile=/Users/augdai/wwwlogs/err.log
stopsignal=INT
配置完。
启动:
根据安装日志我们可以看到这样描述:
if you don't want/need a background service you can just run:
supervisord -c /usr/local/etc/supervisord.ini
那么此时可以执行命令:supervisord -c /usr/local/etc/supervisord.ini 启动服务了。
本机当前处于 /usr/local/Cellar/supervisor/3.3.4/bin
所以我直接运行 supervisord -c supervisord.conf
查看服务运行状态:ps -ef | grep python
注意文件在结尾处:
[include]
files = /usr/local/etc/supervisor.d/*.ini
这个配置自动加载了.ini文件,
若要部署多台服务器都要部署监控队列服务,我们可以在这个位置添加其他的配置项。
目录:/usr/local/etc
在/usr/local/etc/supervisord.ini同级目录里添加新配置,这里我仅添加worker.ini测试:
配置:supervisord.ini
[program:eduamin]
command=php /Applications/MAMP/htdocs/edu.amin/artisan
process_name=%(program_name)s
autostart=true
autorestart=true
user=augdai
redirect_stderr=true
stdout_logfile=/Users/augdai/wwwlogs/eduamin-bg.log
配置:worker.ini
[program:eduamin-bg]
process_name=%(program_name)s_%(process_num)02d
command=php /Applications/MAMP/htdocs/edu.amin/artisan queue:work redis --queue=test_a,test_b --sleep=3 --tries=3
autostart=true
autorestart=true
user=augdai
numprocs=8
stdout_logfile=/Users/augdai/wwwlogs/eduamin-bg.log
配置完成。