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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

supervisor安装和配置

發(fā)布時(shí)間:2024/7/23 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 supervisor安装和配置 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.




supervisor 是由python語(yǔ)言編寫(xiě)、基于linux操作系統(tǒng)的一款服務(wù)器管理工具,用以監(jiān)控服務(wù)器的運(yùn)行,發(fā)現(xiàn)問(wèn)題能立即自動(dòng)預(yù)警及自動(dòng)重啟等功能。

Supervisor是一個(gè)進(jìn)程管理工具,官方的說(shuō)法

用途就是有一個(gè)進(jìn)程需要每時(shí)每刻不斷的跑,但是這個(gè)進(jìn)程又有可能由于各種原因有可能中斷。當(dāng)進(jìn)程中斷的時(shí)候我希望能自動(dòng)重新啟動(dòng)它,此時(shí),我就需要使用到了Supervisor

這個(gè)工具主要就兩個(gè)命令:

supervisord : supervisor的服務(wù)器端部分,啟動(dòng)supervisor就是運(yùn)行這個(gè)命令

supervisorctl:啟動(dòng)supervisor的命令行窗口。

安裝(Centos):

  • #?yum?install?python-setuptools
  • #?easy_install?supervisor
  • 如果easy_install不好使就從官方下載:
  • 然后通過(guò)python安裝:
  • #?tar?zxf?supervisor-3.1.3.tar.gz
  • #?cd?supervisor
  • #?python?setup.py?install
  • 成功安裝后可以登陸python控制臺(tái)輸入import supervisor 查看是否能成功加載。

    生成配置文件(supervisord.conf):

    echo_supervisord_conf > /etc/supervisord.conf

    修改配置文件:

    在supervisord.conf最后增加(分號(hào)后邊的表示注釋,可以不寫(xiě)):

  • [program:bandwidth]
  • command=python26?/usr/local/bin/bandwidth.sh ?;需要執(zhí)行的命令wd)
  • user?=root??;(default??is??current??user?,?required??if??root)
  • autostart=true??;start?at?supervisord?start?(default:?true)
  • autorestart=true??;whether/when?to?restart?(default:?unexpected)
  • startsecs=3??;number?of?secs?prog?must?stay?running?(?def?.?1)
  • stderr_logfile=/tmp/bandwidth_err.log??;redirect?proc?stderr?to?stdout?(default?false)?錯(cuò)誤輸出重定向
  • stdout_logfile=/tmp/bandwidth.log??;stdout?log?path,?NONE??for??none;?default?AUTO,?log輸出
  • (更多配置說(shuō)明請(qǐng)參考:http://supervisord.org/configuration.html)
  • 運(yùn)行命令:

    supervisord -c /etc/supervisord.conf ?//啟動(dòng)supervisor

    supervisorctl //打開(kāi)命令行

  • [root?@iZ2365j7l5bZ??bin]#?supervisorctl?status ??
  • bandwidth????????????????????????RUNNING???pid??2423?,?uptime??0?:?06?:?35???
  • [root?@iZ2365j7l5bZ??bin]#?supervisorctl?help ??
  • ??
  • default??commands?(type?help?<topic>): ??
  • ===================================== ??
  • add????clear??fg????????open??quit????remove??restart???start???stop??update? ??
  • avail??exit???maintail??pid???reload??reread??shutdown??status??tail??version??
  • ctl中: help //查看命令

    ctl中: status //查看狀態(tài)

    另外需要注意:如果修改了 /etc/supervisord.conf ,需要執(zhí)行 supervisorctl reload 來(lái)重新加載配置文件,否則不會(huì)生效。。。

    [配置文件]

    [root@vm source]# echo_supervisord_conf > /etc/supervisord.conf

    [監(jiān)視一個(gè)程序]

    ; The [include] section can just contain the "files" setting. This ; setting can list multiple files (separated by whitespace or ; newlines). It can also contain wildcards. The filenames are ; interpreted as relative to this file. Included files *cannot* ; include files themselves.[include] /**我是注釋,一定要把前面的分號(hào);去掉,不然不會(huì)開(kāi)啟include功能,太傻了**/ files = /etc/supervisor/*.ini

    在?/etc/supervisor/?目錄下建立?redis.ini?文件

    [program:redis] command=/usr/bin/redis-server /usr/local/redis/redis.conf autorstart=true autorestart=true stdout_logfile=/tmp/supervisor.log

    [Web配置]

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

    如果配置了用戶名和密碼,就需要輸入用戶名和密碼才能進(jìn)入web界面。

    [啟動(dòng)supervisord]

    [root@vm source]# supervisord可能會(huì)輸出一堆信息出來(lái)/usr/lib/python2.6/site-packages/supervisor-3.1.3-py2.6.egg/supervisor/options.py:296: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.'Supervisord is running as root and it is searching ' /usr/lib/python2.6/site-packages/supervisor-3.1.3-py2.6.egg/supervisor/options.py:383: DeprecationWarning: Parameters to load are deprecated. Call .resolve and .require separately.return pkg_resources.EntryPoint.parse("x="+spec).load(False)

    不用管它

    [root@vm source]# ps -ef |grep supervisordroot 20041 1 0 03:21 ? 00:00:00 /usr/bin/python /usr/bin/supervisord[root@vm source]# ps -ef| grep redisroot 20074 20073 0 03:23 ? 00:00:00 /usr/bin/redis-server *:6379

    有上述進(jìn)程,就表明成功了。

    [WEB管理界面]

    [命令行管理工具]

    [root@vm source]# supervisorctl status redis RUNNING pid 20074, uptime 0:13:25


    來(lái)源:http://www.cnblogs.com/sss-justdDoIt/p/5631513.html

    supervisor安裝和配置

    直接命令 easy_install?supervisor

    如果報(bào)錯(cuò)先安裝 yum?install?python-setuptools,再上面一條命令;

    安裝成功后顯示finished,我們?cè)俅芜M(jìn)行python環(huán)境,輸入import supervisor ,如果沒(méi)提示錯(cuò)誤則表示安裝成功。

    接下來(lái)是對(duì)supervisor配置,首先我們要生成配置文件,在shell終端輸入echo_supervisord_conf > /etc/supervisord.conf

    接著編輯配置文件

    vi /etc/supervisord.conf

    這里,每個(gè)不同的項(xiàng)目,使用了一個(gè)單獨(dú)的配置的文件,放置在?/etc/supervisor/?下面,于是修改?/etc/supervisord.conf?,加上如下內(nèi)容:

    [include] files = /etc/supervisor/*.conf
    修改完后,我們便可以將項(xiàng)目的配置文件命名為 .conf 放置在 /etc/supervisor/ 下面即可。


    例如在vi /etc/supervisor/usercenter.conf
    [program:usercenter] directory?=?/home/leon/projects/usercenter?;?程序的啟動(dòng)目錄 command?=?gunicorn?-c?gunicorn.py?wsgi:app??;?啟動(dòng)命令,可以看出與手動(dòng)在命令行啟動(dòng)的命令是一樣的 autostart?=?true?????;?在?supervisord?啟動(dòng)的時(shí)候也自動(dòng)啟動(dòng) startsecs?=?5????????;?啟動(dòng)?5?秒后沒(méi)有異常退出,就當(dāng)作已經(jīng)正常啟動(dòng)了 autorestart?=?true???;?程序異常退出后自動(dòng)重啟 startretries?=?3?????;?啟動(dòng)失敗自動(dòng)重試次數(shù),默認(rèn)是?3 user?=?leon??????????;?用哪個(gè)用戶啟動(dòng) redirect_stderr?=?true??;?把?stderr?重定向到?stdout,默認(rèn)?false stdout_logfile_maxbytes?=?20MB??;?stdout?日志文件大小,默認(rèn)?50MB stdout_logfile_backups?=?20?????;?stdout?日志文件備份數(shù) ;?stdout?日志文件,需要注意當(dāng)指定目錄不存在時(shí)無(wú)法正常啟動(dòng),所以需要手動(dòng)創(chuàng)建目錄(supervisord?會(huì)自動(dòng)創(chuàng)建日志文件) stdout_logfile?=?/data/logs/usercenter_stdout.log ;?可以通過(guò)?environment?來(lái)添加需要的環(huán)境變量,一種常見(jiàn)的用法是修改?PYTHONPATH ;?environment=PYTHONPATH=$PYTHONPATH:/path/to/somewhere

    運(yùn)行命令:

    ?分服務(wù)端supevisord和客戶端supervisorctl

    sevice supervisord start

    執(zhí)行命令supervisorctl,啟動(dòng)supervisorctl,進(jìn)入shell界面

    >?status????# 查看程序狀態(tài) >?stop?usercenter???# 關(guān)閉 usercenter 程序 >?start?usercenter??# 啟動(dòng) usercenter 程序 >?restart?usercenter????# 重啟 usercenter 程序 >?reread????#?讀取有更新(增加)的配置文件,不會(huì)啟動(dòng)新添加的程序 >?update????#?重啟配置文件修改過(guò)的程序 >reload ? ? ?

    如果修改了 /etc/supervisord.conf ,需要執(zhí)行 supervisorctl reload 來(lái)重新加載配置文件,否則不會(huì)生效。。

    =============================================

    [unix_http_server] file=/tmp/supervisor.sock???;?UNIX?socket?文件,supervisorctl?會(huì)使用 ;chmod=0700?????????????????;?socket?文件的?mode,默認(rèn)是?0700 ;chown=nobody:nogroup???????;?socket?文件的?owner,格式:?uid:gid ;[inet_http_server]?????????;?HTTP?服務(wù)器,提供?web?管理界面 ;port=127.0.0.1:9001????????;?Web?管理后臺(tái)運(yùn)行的?IP?和端口,如果開(kāi)放到公網(wǎng),需要注意安全性 ;username=user??????????????;?登錄管理后臺(tái)的用戶名 ;password=123???????????????;?登錄管理后臺(tái)的密碼 [supervisord] logfile=/tmp/supervisord.log?;?日志文件,默認(rèn)是?$CWD/supervisord.log logfile_maxbytes=50MB????????;?日志文件大小,超出會(huì)?rotate,默認(rèn)?50MB logfile_backups=10???????????;?日志文件保留備份數(shù)量默認(rèn)?10 loglevel=info????????????????;?日志級(jí)別,默認(rèn)?info,其它:?debug,warn,trace pidfile=/tmp/supervisord.pid?;?pid?文件 nodaemon=false???????????????;?是否在前臺(tái)啟動(dòng),默認(rèn)是?false,即以?daemon?的方式啟動(dòng) minfds=1024??????????????????;?可以打開(kāi)的文件描述符的最小值,默認(rèn)?1024 minprocs=200?????????????????;?可以打開(kāi)的進(jìn)程數(shù)的最小值,默認(rèn)?200 ;?the?below?section?must?remain?in?the?config?file?for?RPC ;?(supervisorctl/web?interface)?to?work,?additional?interfaces?may?be ;?added?by?defining?them?in?separate?rpcinterface:?sections [rpcinterface:supervisor] supervisor.rpcinterface_factory?=?supervisor.rpcinterface:make_main_rpcinterface [supervisorctl] serverurl=unix:///tmp/supervisor.sock ; 通過(guò) UNIX socket 連接 supervisord,路徑與 unix_http_server 部分的 file 一致 ;serverurl=http://127.0.0.1:9001 ; 通過(guò) HTTP 的方式連接 supervisord ;?包含其他的配置文件 [include] files?=?relative/directory/*.ini????;?可以是?*.conf?或?*.ini http://www.ttlsa.com/linux/using-supervisor-control-program/-----挺詳細(xì)的 隨系統(tǒng)啟動(dòng)服務(wù)

    centos7安裝supervisord

    ????#yum -y install supervisor

    ????安裝路徑/usr/bin/supervisord,,配置文件/etc/supervisor.conf

    ?

    一、手動(dòng)啟動(dòng)/關(guān)閉

    supervisor手動(dòng)啟動(dòng):

    ????#/usr/bin/supervisord -c /etc/supervisor.conf

    supervisor手動(dòng)關(guān)閉:

    ????#/usr/bin/supervisorctl stop all????先關(guān)閉supervisor啟動(dòng)腳本,之后再關(guān)閉supervisord服務(wù)

    ????#kill pid

    supervisord開(kāi)機(jī)自啟動(dòng)腳本(各版本系統(tǒng)):https://github.com/Supervisor/initscripts

    ?

    二、添加開(kāi)機(jī)自啟動(dòng)服務(wù):

    centos7 開(kāi)機(jī)自啟動(dòng)腳本:

    ????#vim /lib/systemd/system/supervisord.service

    # supervisord service for sysstemd (CentOS 7.0+)

    # by ET-CS (https://github.com/ET-CS)

    [Unit]

    Description=Supervisor daemon


    [Service]

    ExecStart=/usr/bin/supervisord

    ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown

    ExecReload=/usr/bin/supervisorctl $OPTIONS reload

    KillMode=process

    Restart=on-failure

    RestartSec=42s

    ?

    [Install]

    WantedBy=multi-user.target

    ?

    這個(gè)自啟動(dòng)腳本需要修改/etc/supervisord.conf配置文件:

    ????#vim /etc/supervisrod.conf
    ????????nodaemon=false????改成true

    ?

    或者:#vim /lib/systemd/system/supervisord.service

    [Unit]

    Description=Process Monitoring and Control Daemon

    After=rc-local.service

    ?

    [Service]

    Type=forking

    ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf

    SysVStartPriority=99

    ?

    [Install]

    WantedBy=multi-user.target

    ?

    無(wú)需修改/etc/supervisord.conf配置文件

    ?

    兩個(gè)自啟動(dòng)腳本都能夠添加到systemctl自啟動(dòng)服務(wù)

    ????#systemctl enable supervisord.service

    ????#systemctl start/restart/stop supervisord.service  可能還需要chkconf supervisord on


    創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

    總結(jié)

    以上是生活随笔為你收集整理的supervisor安装和配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

    主站蜘蛛池模板: 日韩每日更新 | 免费亚洲网站 | 欧美男人又粗又长又大 | 性欧美在线视频观看 | 亚洲18在线看污www麻豆 | 99伊人网 | 国产女人被狂躁到高潮小说 | 久久久久高清 | 免费小视频在线观看 | 国产淫视 | 鲁一鲁一鲁一鲁一av | 欧美乱码视频 | 日韩欧美亚洲 | 国产精品嫩草久久久久 | 深夜福利院 | 欧美人体视频一区二区三区 | 97精品在线视频 | 亚洲综合色自拍一区 | 亚洲国产爱| 日本在线精品视频 | 少妇熟女一区 | 91大尺度 | 福利91 | 美女视频黄色在线观看 | 免费的毛片 | 啪啪av | 欧美精品xx| 色欲久久久天天天综合网 | 国产自偷| 午夜做爰xxxⅹ性高湖视频美国 | 美女av在线免费观看 | 樱花影院最新免费观看攻略 | 91激情视频在线观看 | 日韩精品2 | 欧美日韩一二 | 国产欧美日韩精品区一区二污污污 | 91n视频| 一区二区男女 | 成人综合一区二区 | 成人在线视频播放 | 男人的天堂毛片 | 国产高潮流白浆喷水视频 | 国产天堂av在线 | 性欧美又大又长又硬 | 精品国产一二 | 亚洲福利天堂 | 超碰在线最新地址 | 日本在线一| av网址免费| 欧美,日韩,国产在线 | 欧美亚洲日本一区 | 欧美日韩亚洲激情 | 加勒比波多野结衣 | 丰满熟妇人妻中文字幕 | av鲁丝一区鲁丝二区鲁丝三区 | 又大又长粗又爽又黄少妇视频 | 奇米亚洲| 青青草色视频 | a毛片基地 | 极品美女无套呻吟啪啪 | а√天堂资源在线 | 国产精品入口夜色视频大尺度 | 亚洲综合色小说 | 国产黄色免费在线观看 | 国模精品视频一区二区 | 久一在线| 亚洲欧美www | 我们的2018中文免费看 | 伊人影院99| jizzjizz日本免费视频 | 性视频久久 | 国精产品99永久一区一区 | 国产香蕉视频 | 福利一区视频 | 波多野结衣视频在线播放 | 久久久国产精华液999999 | 97视频精品 | 有码在线播放 | 亚洲三级小说 | 制服av网| 麻豆md0077饥渴少妇 | a级黄色录像| 奇米狠狠| www.久久久久久久久久 | 免费大片黄在线观看视频网站 | 凸凹人妻人人澡人人添 | 在线免费观看黄色av | 99国产在线视频 | 日批视频在线播放 | 久久久久久久久久久久久久久久久久 | 久久激情五月 | 精品啪啪 | 国产中文欧美日韩在线 | 久久人人爽人人爽人人av | 黄色网址av | 国产黄色片av | 丰满人妻av一区二区三区 | 中文字幕在线视频第一页 | 99亚洲天堂 |