supervisor:要安裝的軟體的名稱。
supervisord:裝好supervisor軟體後,supervisord用於啟動supervisor服務。
supervisorctl:用於管理supervisor配置檔案中program和supervisor服務本身。
首先在伺服器安裝
// 以 Ubuntu 為例
sudo apt-get install supervisor
// 以 centos 為例
sudo su - #切換為root使用者
yum install epel-release
yum install -y supervisor
systemctl enable supervisord # 開機自啟動
systemctl start supervisord # 啟動supervisord服務
systemctl status supervisord # 檢視supervisord服務狀態
ps -ef | grep supervisord # 檢視是否存在supervisord程式
建立配置檔案
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
建立專案配置
cd /etc/supervisor/
mkdir con.d
vi supervisord.conf
#修改末尾配置資訊
[include]
files = /etc/supervisor/con.d/ *.conf
vi con.d/laravel.conf
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php (專案絕對路徑)/artisan queue:work redis --tries=1
autostart=true
autorestart=true
#注意執行的使用者,可能會造成使用者無許可權寫入日誌,報錯,退出程式
user=root
#執行幾個程式
numprocs=8
redirect_stderr=true
#日誌記入地址
stdout_logfile=/home/wwwlogs/laravel-work.log
給執行許可權
chmod -R +x /etc/supervisor/supervisord.d
啟動
使用supervisor程式管理命令之前先啟動supervisord
supervisord -c /etc/supervisor/supervisord.conf
supervisorctl status //檢視所有程式的狀態
supervisorctl stop all //停止
supervisorctl start all //啟動
supervisorctl restart //重啟
supervisorctl update //配置檔案修改後使用該命令載入新的配置
supervisorctl reload //重新啟動配置中的所有程式
sudo supervisorctl start laravel-worker:*
關閉
/usr/bin/supervisorctl stop all
// 先關閉supervisor啟動指令碼,之後再關閉supervisord服務
ps ax | grep supervisor
kill -9 pid
檢視程式
ps ax | grep supervisor
ps ax | grep artisan
重點 - 重點 - 重點
job裡有改動需要重啟job
重啟 queue
php artisan queue:restart
如果使用 redis 佇列
一定要先安裝 redis 擴充套件
安裝 redis 擴充套件
composer require predis/predis
php 配置檔案快取
// 合併所有的配置資訊為一個,提高載入速度
php artisan config:cache
// 移除配置快取檔案
php artisan config:clear
// 清空應用快取
php artisan cache:clear
轉載:cdn.learnku.com/uploads/images/202...
本作品採用《CC 協議》,轉載必須註明作者和本文連結