配置 Supervisor,linux下的隊列進程管理服務端

supervisord 是進程管理的服務端,常駐進程輔助幹活; supervisorctl 是客戶端,用來執行查看、加載等命令。php

1、Supervisor 安裝

pip install supervisor
複製代碼

或者是ubuntu

yum install supervisor  # centos
sudo apt-get install supervisor  # ubuntu
複製代碼

2、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把光標跳到文件末尾,將最後一行修改成以下。vim

[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
複製代碼

3、啓動 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服務
複製代碼

啓動後查看一下運行狀態centos

supervisorctl status
複製代碼

運行狀態

修改了文件以後必定要重啓纔有用,reread沒有用 api

相關文章
相關標籤/搜索