配置 Supervisor,linux下的队列进程管理服务端

1,294 阅读1分钟

supervisord 是进程管理的服务端,常驻进程辅助干活; supervisorctl 是客户端,用来执行查看、加载等命令。

一、Supervisor 安装

pip install supervisor

或者是

yum install supervisor  # centos
sudo apt-get install supervisor  # ubuntu

二、Supervisor 配置

创建文件夹

mkdir -p /etc/supervisor/
mkdir -p /etc/supervisor/supervisord.d/

生成配置文件

echo_supervisord_conf > /etc/supervisor/supervisord.conf

编辑配置文件

vim /etc/supervisor/supervisord.conf

配置文件中配置除了最后两行,使用默认的就行。vim中使用G把光标跳到文件末尾,将最后一行修改为如下。

[include]
files = /etc/supervisor/supervisord.d/*.conf

创建启动脚本

vim /etc/supervisor/supervisord.d/shopApi.conf

启动脚本内容 注意修改项目artisan文件路径

[program:xmshop-api]
process_name=%(program_name)s_%(process_num)02d
command=php /mnt/www/xmshopApi/artisan queue:work --tries 3 --sleep 3
autostart=true
autorestart=true
user=root
numprocs=1
redirect_stderr=true
stdout_logfile=/mnt/www/shopApi/storage/logs/supervisor.log

三、启动 supervisor

#启动supervisord服务
supervisord -c /etc/supervisor/supervisord.conf

supervisorctl reload  # 重启 supervisord
supervisorctl reread  # 重新读取配置文件 supervisord
supervisorctl start lumen_worker:*  # 启动lumen_worker服务

supervisorctl restart lumen_worker:*  # 重启lumen_worker服务

启动后查看一下运行状态

supervisorctl status

运行状态

修改了文件之后一定要重启才有用,reread没有用