3分鐘學(xué)會(huì)如何上手supervisor看門狗
cat /etc/redhat-release #查看系統(tǒng)版本 supervisor 3.4.0 python 2.7.5supervisor簡介
supervisor是一個(gè)用python語言編寫的進(jìn)程管理工具,它可以很方便的監(jiān)聽、啟動(dòng)、停止、重啟一個(gè)或多個(gè)進(jìn)程。當(dāng)一個(gè)進(jìn)程意外被殺死,supervisor監(jiān)聽到進(jìn)程死后,可以很方便的讓進(jìn)程自動(dòng)恢復(fù),不再需要程序員或系統(tǒng)管理員自己編寫代碼來控制。
supervisord安裝yum install -y epel-releaseyum install -y supervisor
啟動(dòng)&開啟自啟
systemctl start supervisordsystemctl enable supervisord
其他命令:
systemctl stop supervisord #停止啟動(dòng)systemctl start supervisord #啟動(dòng)systemctl status supervisord #啟動(dòng)狀態(tài)systemctl reload supervisord #重載systemctl restart supervisord #重啟supervisor的web端
supervisor提供了基于web的控制,管理員可以通過在頁面上點(diǎn)點(diǎn)按鈕即可完成對(duì)進(jìn)程的啟動(dòng)、重啟等操作,甚是方便。
進(jìn)入配置文件,開啟對(duì)web端的支持
vim /etc/supervisord.conf
如果提供給外部訪問,需要將port改為本機(jī)ip地址
#取消10-13行注釋,前面數(shù)字是行號(hào)[inet_http_server] ; inet (TCP) server disabled by defaultport=192.168.26.121:9001 ; (ip_address:port specifier, *:port for all iface)username=user ; (default is no username (open server))password=123 ; (default is no password (open server))
配置完成后重啟服務(wù)
systemctl restart supervisordsupervisord應(yīng)用配置
進(jìn)入supervisord配置文件
cat /etc/supervisord.conf
通過配置文件最后一行看到
[include]files = supervisord.d/*.ini
也就是說,我們所有的應(yīng)用配置文件都保存在這個(gè)目錄下,以.ini格式命名保存的,可以自行修改地址,但不要修改后綴
那我們來創(chuàng)建一個(gè)受監(jiān)控的應(yīng)用吧
創(chuàng)建測試python配置創(chuàng)建一個(gè)名稱叫做python的應(yīng)用程序配置
vim /etc/supervisord.d/python.ini
配置文件內(nèi)容,其中command就是我們應(yīng)用程序啟動(dòng)需要執(zhí)行的命令
[program:python] #這里的python就是我們顯示在web前端以及終端的監(jiān)控名稱command=python /tmp/supervisordtest/test.py #我們要監(jiān)控的文件地址autostart=trueautorestart=truestartsecs=1startretries=3redirect_stderr=truestdout_logfile=/tmp/supervisordtest/access_python.log #日志地址,可自行配置目錄stderr_logfile=/tmp/supervisordtest/error_python.log #日志地址,可自行配置目錄
創(chuàng)建test.py
mkdir /tmp/supervisordtestvim /tmp/supervisordtest/test.py
程序內(nèi)容:開啟一個(gè)死循環(huán),不停的打印內(nèi)容
while True: print(100)
重啟supervisord使配置文件生效
systemctl restart supervisord
查看應(yīng)用是否正常啟動(dòng)
1、命令查看
systemctl status supervisord
2、可視化web查看
web端可以重啟,停止,清理日志,查看日志等多個(gè)操作
安裝完畢,會(huì)生成3個(gè)系統(tǒng)命令supervisorctl、supervisord和echo_supervisord_conf
1. supervisord,運(yùn)行supervisor時(shí)會(huì)啟動(dòng)一個(gè)進(jìn)程supervisord,它負(fù)責(zé)啟動(dòng)所管理的進(jìn)程,并將所管理的進(jìn)程作為自己的子進(jìn)程來啟動(dòng),而且可以在所管理的進(jìn)程出現(xiàn)崩潰時(shí)自動(dòng)重啟
2. supervisorctl是命令行管理工具,可以用來執(zhí)行 start 、stop 、restart 等命令,來對(duì)這些子進(jìn)程進(jìn)行管理, 如
sudo supervisorctl start demoweb
其中demoweb是進(jìn)程的名稱, 詳細(xì)的命令及說明見下面的這張表
命令 說明 supervisorctl start program_name 啟動(dòng)某個(gè)進(jìn)程 supervisorctl stop program_name 停止某個(gè)進(jìn)程 supervisorctl restart program_name 重啟某個(gè)進(jìn)程 supervisorctl status program_name 查看某個(gè)進(jìn)程的狀態(tài) supervisorctl stop all 停止全部進(jìn)程 | supervisorctl reload 載入最新的配置文件,重啟所有進(jìn)程 supervisorctl update 根據(jù)最新的配置,重啟配置更改過的進(jìn)程,未更新的進(jìn)程不受影響3. echo_supervisord_conf
用來生成默認(rèn)的配置文件(默認(rèn)配置文件,內(nèi)容非常齊全且都有注釋,適合用時(shí)查閱,用法是這樣的
echo_supervisord_conf > test.conf
到此這篇關(guān)于3分鐘學(xué)會(huì)如何上手supervisor看門狗的文章就介紹到這了,更多相關(guān)3分鐘學(xué)會(huì)如何上手supervisor內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ajax請(qǐng)求添加自定義header參數(shù)代碼2. ASP基礎(chǔ)知識(shí)VBScript基本元素講解3. Gitlab CI-CD自動(dòng)化部署SpringBoot項(xiàng)目的方法步驟4. Python requests庫參數(shù)提交的注意事項(xiàng)總結(jié)5. Kotlin + Flow 實(shí)現(xiàn)Android 應(yīng)用初始化任務(wù)啟動(dòng)庫6. 利用CSS3新特性創(chuàng)建透明邊框三角7. vue-electron中修改表格內(nèi)容并修改樣式8. ASP中解決“對(duì)象關(guān)閉時(shí),不允許操作。”的詭異問題……9. python操作mysql、excel、pdf的示例10. 詳談ajax返回?cái)?shù)據(jù)成功 卻進(jìn)入error的方法
