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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql用supervisor管理_使用Supervisor管理进程

發布時間:2024/4/17 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql用supervisor管理_使用Supervisor管理进程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.? Superivisor簡介:

Supervisor是一個C/S系統,它允許用戶在類UNIX系統上監控和管理一系列的進程。你可以把一個進程以Daemon的形式用Supervisor來管理。

2.? 安裝:

使用pip來安裝Supervisor:[root@test1?~]#?pip?install?supervisor

如果CentOS系統中沒用安裝pip,可以通過如下命令安裝pip:[root@test1?~]#?yum?-y?install?python-pip

3.? 配置文件:

Supervisor的配置文件需要手動執行命令來生成,如下:[root@test1?~]#?echo_supervisord_conf?>?/etc/supervisord.conf

4.? 常用的配置項:command=/bin/cat?????????????????----?啟動程序時執行的命令;

directory=/tmp???????????????????----?執行目錄,若有/home/test/test1.py,將directory設置成/home/test,則command只需設置成python?test1.py。否則command必須設置成絕對路徑;

process_name=%(program_name)s?????----?進程啟動,使用program?name作為進程名,默認值;

autostart=true???????????????????----?隨Supervisor啟動一起啟動;

startsecs=1??????????????????????----?等待多長時間后認為程序啟動成功,默認為1;

startretries=3???????????????????----?啟動失敗時的重試次數,默認為3;

user=root????????????????????????----?以root身份運行程序;

priority=999?????????????????????----?優先級。值越高,最后啟動,最先被關閉,默認值999。

5.? 命令:

Supervisor有兩個可執行程序 :supervisord 和 supervisorctl。

supervisord用來依據配置文件的策略管理后臺守護進程;

supervisorctl管理員用于向后臺守護進程發送“啟動/重啟/停止”等指令。

6.? 一個例子,使用Supervisor管理一個Python Flask程序hello.py:[program:flasky]

directory=/opt/flasky/

command=/opt/flasky/venv/bin/python?hello.py?runserver?--host?192.168.1.101?-p?8080

autostart=true

startsecs=10

startretries=2

user=root

stderr_logfile=/tmp/flasky-error.log

stdout_logfile=/tmp/flasky-error.log

7.? 啟動Supervisord:[root@test1?~]#?/usr/bin/supervisord?-c?/etc/supervisord.conf

8.? 查看進程狀態:[root@test1?~]#?/usr/bin/supervisorctl?status

flasky???????????????????????????STARTING

[root@test1?~]#?/usr/bin/supervisorctl?status

flasky???????????????????????????RUNNING???pid?46778,?uptime?0:00:10

[root@test1?~]#?/usr/bin/supervisorctl?status

flasky???????????????????????????RUNNING???pid?46778,?uptime?0:00:13

9.? Supervisorctl管理命令:supervisorctl?status????????????????----?查看supervisor管理進程的狀態;

supervisorctl?stop?programname??????----?用來關閉某個進程,programname指上例中的flasky;

supervisorctl?start?programname?????----?用來啟動某個進程;

supervisorctl?restart?programname???----?用來重啟某個進程;

supervisorctl?stop?all??????????????----?關閉所有的進程;

supervisorctl?reload????????????????----?停止所有進程,載入最新的配置文件,并根據最新的配置啟動、管理進程;

supervisorctl?update????????????????----?根據最新的配置文件,啟動新配置的進程或重啟配置有變化的進程,沒有改動過的進程不會受到影響;

supervisorctl?shutdown??????????????----?關閉supervisor服務。

10、執行supervisorctl時異常:error:?,?:?file:

這時可以在執行supervisorctl時通過-c選項指定配置文件的位置:[root@test1?~]#?/usr/bin/supervisorctl?-c?/etc/supervisord.conf?status

曾經有一次面試,面試官提問:“有一個腳本,如何讓它在開機之后一小時的時候開始執行?”

我答:“在腳本開頭加上‘sleep 3600’,再把腳本加入rc.d目錄開機啟動。”

其實,用Supervisor就可以更合理地實現。

總結

以上是生活随笔為你收集整理的mysql用supervisor管理_使用Supervisor管理进程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。