# Ubuntu Supervisor for Laravel Queue >[color=#00FF00] https://codertw.com/%E4%BC%BA%E6%9C%8D%E5%99%A8/170578/ >https://learn2torials.com/a/how-to-setup-laravel-supervisor ### 安裝supervisor ``` $ apt-get install supervisor ``` ### 配置 ``` $ echo_supervisord_conf > /etc/supervisor/supervisord.conf ``` ### 配置管理程序 ``` $ cd /etc/supervisor $ vi supervisord.conf ``` 找到最後一行`files = ...`把前面註解刪掉並修改路徑 ```php [include] files = /etc/supervisor/conf.d/*.conf ``` ### 建立程序監控指令 ``` $ cd /etc/supervisor/conf.d $ vi laravel-quene.conf ``` ```php [program:laravel-worker] process_name=%(program_name)s_%(process_num)02d // 多個流程名稱不能相同,匹配多個 command=php /home/site/wwwroot/artisan queue:listen //啟動環境下的php artisan指令 autostart=true // supervisord 啟動的時候也自動啟動 autorestart=true // 程式異常退出後自動重啟 user=root numprocs=1 // 啟動N個進程 redirect_stderr=true stdout_logfile=/home/site/wwwroot/laravel-queue.log // 日誌存放路徑,這個路徑需要是已存在的路徑 ``` ### 啟動Supervisor ```php $ service supervisor stop // 停止 $ service supervisor start// 啟動 $ service supervisor status// 確認是否running ``` ### If start still ERROR... 1.檢查配置文件是否有錯 2.查看log檔 3.重新啟動(可能還是ERROR,需實際測試) ``` $ ps -ef | grep supervisord // 查看進程 $ kill -s sigterm 'port' // 關掉進程 ```