博客 / 詳情

返回

Linux centos 安裝 supervisor 管理 Laravel 隊列

安裝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 上海南京西路

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.