生產環境中需要一個可靠的進程管理工具來幫助laravel保持任務進程的狀態,supervisor是非常廣泛的選擇
一。安裝supervisor
ubuntu環境下:apt install 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组下的所有进程
以上是教你用supervisor管理laravel常駐任務(隊列等)配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!