亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

詳解Supervisor安裝與配置(Linux/Unix進程管理工具)

2024-09-01 13:55:12
字體:
來源:轉載
供稿:網友

Supervisor(http://supervisord.org/)是用Python開發的一個client/server服務,是Linux/Unix系統下的一個進程管理工具,不支持Windows系統。它可以很方便的監聽、啟動、停止、重啟一個或多個進程。用Supervisor管理的進程,當一個進程意外被殺死,supervisort監聽到進程死后,會自動將它重新拉起,很方便的做到進程自動恢復的功能,不再需要自己寫shell腳本來控制。

因為Supervisor是Python開發的,安裝前先檢查一下系統否安裝了Python2.4以上版本。下面以CentOS7,Python2.7版本環境下,介紹Supervisor的安裝與配置步聚:

1、安裝Python包管理工具(easy_install)

easy_install是setuptools包里帶的一個命令,使用easy_install實際上是在調用setuptools來完成安裝模塊的工作,所以安裝setuptools即可。

wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python

2、安裝supervisor

easy_install supervisor

supervisor安裝完成后會生成三個執行程序:supervisortd、supervisorctl、echo_supervisord_conf,分別是supervisor的守護進程服務(用于接收進程管理命令)、客戶端(用于和守護進程通信,發送管理進程的指令)、生成初始配置文件程序。

3、配置

運行supervisord服務的時候,需要指定supervisor配置文件,如果沒有顯示指定,默認在以下目錄查找:

$CWD/supervisord.conf$CWD/etc/supervisord.conf/etc/supervisord.conf/etc/supervisor/supervisord.conf (since Supervisor 3.3.0)../etc/supervisord.conf (Relative to the executable)../supervisord.conf (Relative to the executable)

$CWD表示運行supervisord程序的目錄。

可以通過運行echo_supervisord_conf程序生成supervisor的初始化配置文件,如下所示:

mkdir /etc/supervisorecho_supervisord_conf > /etc/supervisor/supervisord.conf

4、配置文件參數說明

supervisor的配置參數較多,下面介紹一下常用的參數配置,詳細的配置及說明,請參考官方文檔介紹。 
注:分號(;)開頭的配置表示注釋

[unix_http_server]file=/tmp/supervisor.sock  ;UNIX socket 文件,supervisorctl 會使用;chmod=0700         ;socket文件的mode,默認是0700;chown=nobody:nogroup    ;socket文件的owner,格式:uid:gid;[inet_http_server]     ;HTTP服務器,提供web管理界面;port=127.0.0.1:9001    ;Web管理后臺運行的IP和端口,如果開放到公網,需要注意安全性;username=user       ;登錄管理后臺的用戶名;password=123        ;登錄管理后臺的密碼[supervisord]logfile=/tmp/supervisord.log ;日志文件,默認是 $CWD/supervisord.loglogfile_maxbytes=50MB    ;日志文件大小,超出會rotate,默認 50MB,如果設成0,表示不限制大小logfile_backups=10      ;日志文件保留備份數量默認10,設為0表示不備份loglevel=info        ;日志級別,默認info,其它: debug,warn,tracepidfile=/tmp/supervisord.pid ;pid 文件nodaemon=false        ;是否在前臺啟動,默認是false,即以 daemon 的方式啟動minfds=1024         ;可以打開的文件描述符的最小值,默認 1024minprocs=200         ;可以打開的進程數的最小值,默認 200[supervisorctl]serverurl=unix:///tmp/supervisor.sock ;通過UNIX socket連接supervisord,路徑與unix_http_server部分的file一致;serverurl=http://127.0.0.1:9001 ; 通過HTTP的方式連接supervisord; [program:xx]是被管理的進程配置參數,xx是進程的名稱[program:xx]command=/opt/apache-tomcat-8.0.35/bin/catalina.sh run ; 程序啟動命令autostart=true    ; 在supervisord啟動的時候也自動啟動startsecs=10     ; 啟動10秒后沒有異常退出,就表示進程正常啟動了,默認為1秒autorestart=true   ; 程序退出后自動重啟,可選值:[unexpected,true,false],默認為unexpected,表示進程意外殺死后才重啟startretries=3    ; 啟動失敗自動重試次數,默認是3user=tomcat     ; 用哪個用戶啟動進程,默認是rootpriority=999     ; 進程啟動優先級,默認999,值小的優先啟動redirect_stderr=true ; 把stderr重定向到stdout,默認falsestdout_logfile_maxbytes=20MB ; stdout 日志文件大小,默認50MBstdout_logfile_backups = 20  ; stdout 日志文件備份數,默認是10; stdout 日志文件,需要注意當指定目錄不存在時無法正常啟動,所以需要手動創建目錄(supervisord 會自動創建日志文件)stdout_logfile=/opt/apache-tomcat-8.0.35/logs/catalina.outstopasgroup=false   ;默認為false,進程被殺死時,是否向這個進程組發送stop信號,包括子進程killasgroup=false   ;默認為false,向進程組發送kill信號,包括子進程;包含其它配置文件[include]files = relative/directory/*.ini  ;可以指定一個或多個以.ini結束的配置文件

include示例:

[include]files = /opt/absolute/filename.ini /opt/absolute/*.ini foo.conf config??.ini

5、配置管理進程

進程管理配置參數,不建議全都寫在supervisord.conf文件中,應該每個進程寫一個配置文件放在include指定的目錄下包含進supervisord.conf文件中。 

1> 創建/etc/supervisor/config.d目錄,用于存放進程管理的配置文件 

2> 修改/etc/supervisor/supervisord.conf中的include參數,將/etc/supervisor/conf.d目錄添加到include中

[include]files = /etc/supervisor/config.d/*.ini

Supervisor,安裝,配置

下面是配置Tomcat進程的一個例子:

[program:tomcat]command=/opt/apache-tomcat-8.0.35/bin/catalina.sh runstdout_logfile=/opt/apache-tomcat-8.0.35/logs/catalina.outautostart=trueautorestart=truestartsecs=5priority=1stopasgroup=truekillasgroup=true

5、啟動Supervisor服務

supervisord -c /etc/supervisor/supervisord.conf

6、控制進程

6.1 交互終端

supervisord啟動成功后,可以通過supervisorctl客戶端控制進程,啟動、停止、重啟。運行supervisorctl命令,不加參數,會進入supervisor客戶端的交互終端,并會列出當前所管理的所有進程。 

Supervisor,安裝,配置

上圖中的tomcat就是我們在配置文件中[program:tomcat]指定的名字。

輸入help可以查看可以執行的命令列表,如果想看某個命令的作用,運行help 命令名稱,如:help stop

stop tomcat // 表示停止tomcat進程stop all   // 表示停止所有進程// ...

6.2 bash終端

supervisorctl statussupervisorctl stop tomcatsupervisorctl start tomcatsupervisorctl restart tomcatsupervisorctl rereadsupervisorctl update

6.3 Web管理界面

Supervisor,安裝,配置

出于安全考慮,默認配置是沒有開啟web管理界面,需要修改supervisord.conf配置文件打開http訪權限,將下面的配置:

;[inet_http_server]     ; inet (TCP) server disabled by default;port=127.0.0.1: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))

修改成:

[inet_http_server]     ; inet (TCP) server disabled by defaultport=0.0.0.0: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))

port:綁定訪問IP和端口,這里是綁定的是本地IP和9001端口 
username:登錄管理后臺的用戶名 
password:登錄管理后臺的密碼

7、開機啟動Supervisor服務

7.1 配置systemctl服務

1> 進入/lib/systemd/system目錄,并創建supervisor.service文件

[Unit]Description=supervisorAfter=network.target[Service]Type=forkingExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.confExecStop=/usr/bin/supervisorctl $OPTIONS shutdownExecReload=/usr/bin/supervisorctl $OPTIONS reloadKillMode=processRestart=on-failureRestartSec=42s[Install]WantedBy=multi-user.target

2> 設置開機啟動

systemctl enable supervisor.servicesystemctl daemon-reload

3、修改文件權限為766

chmod 766 supervisor.service

7.2 配置service類型服務

#!/bin/bash## supervisord  This scripts turns supervisord on## Author:    Mike McGrath <mmcgrath@redhat.com> (based off yumupdatesd)## chkconfig:  - 95 04## description: supervisor is a process control utility. It has a web based#        xmlrpc interface as well as a few other nifty features.# processname: supervisord# config: /etc/supervisor/supervisord.conf# pidfile: /var/run/supervisord.pid## source function library. /etc/rc.d/init.d/functionsRETVAL=0start() {  echo -n $"Starting supervisord: "  daemon "supervisord -c /etc/supervisor/supervisord.conf "  RETVAL=$?  echo  [ $RETVAL -eq 0 ] && touch /var/lock/subsys/supervisord}stop() {  echo -n $"Stopping supervisord: "  killproc supervisord  echo  [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/supervisord}restart() {  stop  start}case "$1" in start)  start  ;; stop)   stop  ;; restart|force-reload|reload)  restart  ;; condrestart)  [ -f /var/lock/subsys/supervisord ] && restart  ;; status)  status supervisord  RETVAL=$?  ;; *)  echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"  exit 1esacexit $RETVAL

將上述腳本內容保存到/etc/rc.d/init.d/supervisor文件中,修改文件權限為755,并設置開機啟動

chmod 755 /etc/rc.d/init.d/supervisorchkconfig supervisor on

注意:修改腳本中supervisor配置文件路徑為你的supervisor的配置文件路徑

其它Linux發行版開機啟動腳本:https://github.com/Supervisor/initscripts

注意:

Supervisor只能管理非daemon的進程,也就是說Supervisor不能管理守護進程。否則提示Exited too quickly (process log may have details)異常。例子中的Tomcat默認是以守護進程啟動的,所以我們改成了catalina.sh run,以前臺進程的方式運行。

yum方式安裝

yum install epel-releaseyum install -y supervisor

supervisor沒有發布在標準的CentOS源在,需要安裝epel源。這種方式安裝的可能不是最新版本,但比較方便,安裝完成之后,配置文件會自動幫你生成。 

默認配置文件:/etc/supervisord.conf 

進程管理配置文件放到:/etc/supervisord.d/目錄下即可

默認日志文件:/tmp/supervisord.log,可以查看進程的啟動信息

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美亚洲伦理www| 日韩成人高清在线| 亚洲国产毛片完整版| 日韩**中文字幕毛片| 欧美日韩国产一区中文午夜| 国产精品视频区1| 激情久久av一区av二区av三区| 91精品国产综合久久香蕉最新版| 狠狠操狠狠色综合网| 欧美国产日韩一区二区三区| 一区二区三区 在线观看视| 九九精品在线视频| 欧美激情中文网| 亚洲免费视频观看| 久久艳片www.17c.com| 国产欧美中文字幕| 成人a在线观看| 成人高清视频观看www| 亚洲成人亚洲激情| 国产va免费精品高清在线观看| 欧美老少做受xxxx高潮| 亚洲第一网站男人都懂| 国产精品偷伦一区二区| 日韩av电影在线播放| 欧美—级高清免费播放| 欧美激情图片区| 亚洲免费视频观看| 亚洲精品免费在线视频| 夜色77av精品影院| 91中文精品字幕在线视频| 96pao国产成视频永久免费| 日韩av在线免费播放| 亚洲精品v天堂中文字幕| 欧美性猛交视频| 精品成人国产在线观看男人呻吟| 欧美激情日韩图片| 午夜精品久久久久久久久久久久久| 日韩精品视频在线观看免费| 国产精品白嫩初高中害羞小美女| 最近2019中文字幕大全第二页| 国产一区二区在线免费视频| 日韩美女主播视频| 国产欧美精品一区二区| 原创国产精品91| 高清欧美性猛交xxxx黑人猛交| …久久精品99久久香蕉国产| 海角国产乱辈乱精品视频| 亚洲福利视频专区| 在线亚洲男人天堂| 国产精品爱久久久久久久| 久久亚洲综合国产精品99麻豆精品福利| 国内免费久久久久久久久久久| 日本高清视频精品| 久久久久久91香蕉国产| 日韩在线播放一区| 久久影视电视剧免费网站清宫辞电视| 国产91精品久久久久| 国产精品av在线播放| 伊人久久五月天| 日韩精品中文字幕在线观看| 国产日韩欧美91| 亚洲精品永久免费精品| 中文字幕欧美日韩va免费视频| 亚洲精品国产精品自产a区红杏吧| 97久久精品国产| 精品二区三区线观看| 色妞欧美日韩在线| 国产在线不卡精品| 亚洲色图第一页| 国产精品久久久久aaaa九色| 中文字幕免费国产精品| 久久久电影免费观看完整版| 一区二区三区无码高清视频| 精品视频一区在线视频| 国内外成人免费激情在线视频网站| 亚洲欧美国产制服动漫| 久久久人成影片一区二区三区| 亚洲欧美一区二区三区情侣bbw| 久久久www成人免费精品张筱雨| 亚洲一区二区三区在线免费观看| 欧美亚洲另类激情另类| 69**夜色精品国产69乱| 在线视频欧美日韩精品| 国产欧美精品一区二区三区介绍| 国产91在线播放| 欧美巨大黑人极品精男| 色综合伊人色综合网| 国产美女精彩久久| 久久成人18免费网站| 精品久久久久久中文字幕大豆网| 亚洲国产婷婷香蕉久久久久久| 亚洲精品456在线播放狼人| 在线观看欧美日韩| 国产丝袜一区视频在线观看| 成人精品视频99在线观看免费| 亚洲精品久久久久中文字幕二区| 亚洲性av在线| 亚洲欧美精品中文字幕在线| 日韩欧美高清视频| 人人澡人人澡人人看欧美| xxx成人少妇69| 亚洲国产成人精品久久久国产成人一区| 国内免费精品永久在线视频| 热久久这里只有精品| 日韩激情片免费| 日韩电影大全免费观看2023年上| 日韩专区在线观看| 欧美一区二区影院| 欧美性资源免费| 欧美激情综合色综合啪啪五月| 国产精品自产拍高潮在线观看| 国产美女久久精品| 日日狠狠久久偷偷四色综合免费| 91精品综合久久久久久五月天| 97国产精品人人爽人人做| 国产亚洲精品久久久久久777| 亚洲电影在线看| 日韩美女福利视频| 欧美日韩亚洲视频一区| 亚洲综合中文字幕在线| 欧洲亚洲免费在线| 国产精品人人做人人爽| 另类专区欧美制服同性| 国产精品极品美女粉嫩高清在线| 亚洲精品v欧美精品v日韩精品| www国产精品视频| 国产精品国语对白| 国产国语videosex另类| 日韩视频免费大全中文字幕| 日韩av日韩在线观看| 亚洲欧美资源在线| 国产精品久久99久久| 国产精品久久久一区| 久久99久久久久久久噜噜| 久久久久久久久久久91| 久久国产精品久久国产精品| 操人视频在线观看欧美| 精品国产一区久久久| 日韩一级裸体免费视频| 日韩电影大片中文字幕| 欧美一区视频在线| 国内精品久久久久久中文字幕| 亚洲激情自拍图| 久久亚洲春色中文字幕| 国产日产亚洲精品| 亚洲一区二区三区成人在线视频精品| 久久久人成影片一区二区三区| 日韩精品高清在线观看| 欧美电影免费观看高清| 精品久久久国产精品999| 日韩精品在线观看一区二区| 98精品国产高清在线xxxx天堂| 亚洲a∨日韩av高清在线观看| 欧美精品免费看| 国产精品视频自在线| 色噜噜狠狠色综合网图区| 日本精品中文字幕| 26uuu国产精品视频| 欧美日韩性视频在线| 日韩精品视频免费专区在线播放| 91精品国产免费久久久久久| 亚洲深夜福利在线| 久久久国产精品x99av| 欧美电影在线观看|