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