1.supervisor的介紹php
Supervisor 是用Python開發的一個client/server服務,是Linux/Unix系統下的一個進程管理工具,不支持Windows系統,經過配置能夠實現自動監聽進程狀態,若是被監聽的進程發生異常退出,Supervisor 會嘗試再次啓動該進程。laravel
2.Supervisor的安裝與配置redis
1)由於Supervisor是Python開發的,安裝前先檢查一下系統否安裝了Python2.4以上版本。下面以CentOS6,Python2.6版本環境下,介紹Supervisor的安裝與配置步聚:參考連接爲https://www.jianshu.com/p/73a14fc69e51sass
2)supervisor安裝完成後會生成三個執行程序:supervisortd、supervisorctl、echo_supervisord_conf,分別是supervisor的守護進程服務(用於接收進程管理命令)、客戶端(用於和守護進程通訊,發送管理進程的指令)、生成初始配置文件程序。bash
3.配置管理進程框架
進程管理配置參數,不建議全都寫在supervisord.conf文件中,應該每一個進程寫一個配置文件放在include指定的目錄下包含進supervisord.conf文件中。工具
1)建立/etc/supervisor/config.d目錄,用於存放進程管理的配置文件spa
2)修改/etc/supervisor/supervisord.conf中的include參數,將/etc/supervisor/conf.d目錄添加到include中rest
4.啓動與關閉supervisorserver
supervisord -c /etc/supervisord.conf
5.訂單過時監聽
安裝Supervisor加入訂單過時監聽命令
supervisor 命令說明(program_name=你配置中寫的程序名稱),執行命令:vi sass_snap_order_cancel.ini
6.bash終端
supervisorctl reload 更新supervisorctl.conf
supervisorctl update 更新配置須要守護配置 conf.d.ini
supervisorctl status 查看守護的進程狀態
supervisorctl stop program_name 中止某一進程 顯示用stop中止掉的進程,用reload或者update都不會自動重啓。
supervisorctl start program_name 啓動某個進程
supervisorctl restart program_name 重啓某一進程
supervisorctl stop all 中止所有進程
7.安裝以及使用過程當中出現的問題
1)no such process
分析:安裝的時候沒有寫config 目錄,默認配置目錄不是在/etc/supervisor 上的
解決辦法:find / -name supervisor.sock 找到這個文件,刪除(unlink)它,再執行啓動命令supervisord -c /etc/supervisor/supervisord.conf
2)若是是配合在laravel框架項目中使用redis鍵過時通知機制的話,應注意相關配置是否開啓
config/database.php中redis配置
控制檯中模型文件handle方法中進行設置