下面由laravel教程欄目給大家介紹用supervisor管理laravel常駐任務(隊列等)配置的方法,希望對需要的朋友有所幫助!
生產環境中需要一個可靠的進程管理工具來幫助laravel保持任務進程的狀態,supervisor是非常廣泛的選擇
一. 安裝supervisor
ubuntu環境下:
apt install supervisor
二. 配置supervisor
配置文件有兩個位置:
主配置文件:/etc/supervisor/supervisord.conf 通常用于配置全局通用的配置
個性化配置文件:/etc/supervisor/conf.d/*.conf 通常用于配置單個進程組或者進程的個性化配置,類似于nginx配置時把多個server單獨放在獨立的配置文件里
supervisor的配置說明文檔:https://www.rddoc.com/doc/Supervisor/3.3.1/zh/configuration/#supervisord-section-settings
三.舉個例子:
//?在/etc/supervisor/conf.d/路徑下建立一個?foo.conf?文件,存放一個組名為foo的配置 [group:foo]?//?建立一個進程組 programs=bar?//?進程組包括的進程,多個進程用逗號隔開 [program:bar]?//?建立一個進程 process_name=%(program_name)s_%(process_num)02d?//?啟動的進程名?:?bar_00?bar_01?... command=php?/data/www/laravel-path/artisan?queue:work?--sleep=3?--tries=3?//?執行的進程命令 autostart=true?//?隨supervisor啟動自動啟動 autorestart=true user=deploy?//?執行進程的用戶 numprocs=8?//?進程數 redirect_stderr=true stdout_logfile=/data/logs/foo.log
啟動supervisor: supervisord -c /etc/supervisord.conf
進入supervisor操作臺:supervisorctl
supervisorctl>?reread?//?讀取新增加的配置 supervisorctl>?update supervisorctl>?start?foo:*?//啟動foo組下的所有進程
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦