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没有用