日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

ubuntu中supervisor的安装和学习

發(fā)布時間:2024/4/13 Ubuntu 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ubuntu中supervisor的安装和学习 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

引言:

在 web 應(yīng)用部署到線上后,需要保證應(yīng)用一直處于運行狀態(tài),在遇到程序異常、報錯等情況,導致 web 應(yīng)用終止時,需要保證程序可以立刻重啟,繼續(xù)提供服務(wù)。所以,就需要一個工具,時刻監(jiān)控 web 應(yīng)用的運行情況,管理該進程。Supervisor 就是解決這種需求的工具,可以保證程序崩潰后,重新把程序啟動起來等功能。

Supervisor 是一個用 Python 寫的進程管理工具,可以很方便的用來在 UNIX-like 系統(tǒng)(不支持 Windows)下啟動、重啟(自動重啟程序)、關(guān)閉進程(不僅僅是 Python 進程)。同樣,它也不僅僅是監(jiān)控web,還能對python的一切腳本起著重啟的作用。

安裝Supervisor

sudo apt install supervisor

配置文件

另外可以查看是否安裝成功,查看進程號:

pgrep supervisord

若出現(xiàn)隨機進程號則表示已經(jīng)啟動并安裝成功。我們先補充生成的默認文件:

echo_supervisord_conf > /etc/supervisor/supervisord.conf

安裝好之后,不出問題的話supervisor服務(wù)已經(jīng)啟動完成。
配置文件在/etc/supervisor/conf.d/路徑下,
舉例再conf.d下創(chuàng)建對應(yīng)的項目的配置文件
我這里配置了app.conf和djangotest.conf

app.conf文件,其中app.py文件就放在目錄/home/szr/temp/下面

[program:pmapp] command=python3 /home/szr/temp/app.py autorestart=true ;默認自動啟動 stdout_logfile=/home/szr/temp/supervisord_stdout.log ;指定日志文件路徑 stderr_logfile=/home/szr/temp/supervisord_stderr.log ;指定日志文件路徑 [supervisord]

djangotest.conf文件,其中manage.py文件就放在目錄/home/szr/lzztes/下面

[program:djangotest] command=/usr/bin/python3.8 /home/szr/lzztes/manage.py runserver 0.0.0.0:8000 autostart=true stderr_logfile=/home/szr/lzztes/logs/err.log stdout_logfile=/home/szr/lzztes/logs/out.log startretries=2 stopasgroup=true killasgroup=true environment=PYTHONPATH="/home/szr/.local/lib/python3.8/site-packages:/usr/lib/python3/dist-packages";配置同一個環(huán)境變量下有多個值 #項目路徑 directory to cwd to before exec supervisor在執(zhí)行前會切換到當前目錄下 根據(jù)自己的情況配置 # directory=/[supervisord]

其中可能需要先在指定目錄下/home/szr/lzztes/logs/創(chuàng)建一個out.log 否則可能會報錯找不到。

使用

第一次啟用

sudo supervisord -c /etc/supervisor/conf.d/app.conf

或者使用

sudo supervisord -n -c /etc/supervisor/conf.d/app.conf

可以看見在前臺看見運行信息,seccess

或者必須進入到目錄:/etc/supervisor/下

sudo supervisorctl status 查看狀態(tài) update 只更新變化添加的配置 reload 更新所有項目的配置 并重啟所有項目 start+項目名稱 啟動項目 restart+項目名稱 重新啟動項目 stop+項目名稱 停止項目 stop all 停止所有項目名稱

以下是例子



當kill進程的時候 supervisor會守護這些進程,并且重啟

以app.py為例子,sudo kill -15 16221

之后supervisor進程守護,又重啟了app.py在端口號 16237

總結(jié)

以上是生活随笔為你收集整理的ubuntu中supervisor的安装和学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。