1 Superviosr 安装
sudo pip install supervisor
2 Supervisor 配置
// 运行这个命令可以生成一个默认的配置文件
echo_supervisord_conf > /etc/supervisord.conf
// 生成成功后,打开编辑这个文件,把最后的 include 块的注释打开,并修改如下:
[include]
files = /etc/supervisor/*.conf
新增的 Supervisor 配置文件放在 /etc/supervisor 目录下,并且以 conf 结尾。
这时我们使用新的配置文件来启动 Supervisor
supervisord -c /etc/supervisord.conf
如果提示已经有进程在运行,那么先 kill 掉它。
3 使用Supervisor 管理Laravel队列进程
首先在/etc/supervisor 目录下新增一个Supervisor 的配置文件, 如下:
[program:project_horizon]
process_name=%(program_name)s
autostart=true
autorestart=true
redirect_stderr=true
command=/user/local/php/bin/php /home/wwwroot/project/artisan horizon
stdout_logfile=/home/wwwlogs/supervisord/project_horizon.log
可以看到 Laravel 队列开始正常运行了,这里值得注意的是,如果 Laravel 处理队列的代码更改了,需要重启 Supervisor 的队列管理才能生效
sudo /usr/bin/supervisorctl status