安裝supervisor
yum install supervisor
安裝後通常會在/etc/目錄下生成一個supervisord.conf文件和supervisord.d目錄,配置文件通常都是放在這個目錄下的
打開/etc/supervisord.conf文件,最後一行會有
[include]
files = supervisord.d/*.ini
理解為加載supervisord.d文件夾下的所有.ini文件
那我配置就寫在這裏
創建laravel-worker.ini文件,內容如下,具體參數根據你的實際情況來更改
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /data/www/YouProjectDirectory/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=apache
numprocs=8
redirect_stderr=true
stdout_logfile=/data/www/YouProjectDirectory/storage/logs/worker.log
上述配置中numprocs 指令讓 Supervisor 運行 8 個 queue:work 進程並監視它們,如果失敗的話自動重啓,當然,你需要修改 queue:work sqs 的 command 指令來映射你的隊列連接
當創建配置文件後,需要刷新 Supervisor 的配置信息並使用如下命令啓動進程:
sudo supervisord
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel-worker:*
如果啓動時報laravel-worker: added process group錯誤,大概率是你引入配置文件這塊出錯了,檢查下你的.ini配置文件位置對不對,通常直接丟在supervisord.d目錄中就可以,前提你沒更改過supervisord.conf文件中include file的位置
開機啓動服務
systemctl enable supervisord
驗證一下是否為開機啓動
systemctl is-enabled supervisord
2021.06.10 上海南京西路