主管是由Python开发的用于监控类UNIX上进程运行状态的工具。在部署Python Web时,经常使用这样一种架构,即Nginx + Gunicorn +管理+ Django/瓶/龙卷风/Webpy Pyramid.Supervisor在这里起到的作用是监控Gunicorn,在Gunicorn宕掉后使其重启,增强系统的稳定性。推而广之,可以用主管监控Tomcat, MySQL,复述,等。下面介绍一下其安装和使用。
引用>1。安装
主管只能运行在类UNIX系统中,如Linux, Mac OS和Solaris等,不支持任何版本的Windows系统。同时,主管需要Python 2.4或更新版本的Python支持。
下面介绍两种安装方式。
<编辑> 1.1 pip方式编辑>在系统已安装pip且可以连接外网时,安装十分简单,pip安装会和yum安装、apt-get一样自动安装依赖文件:
[root@localhost ~] #, pip install 主管<编辑> 1.2手动安装编辑>手动安装又分为可以连接外网和不能连接外网的情况,均需要setuptools的支持,否则在
python setup.py 安装时会报如下错误:
Traceback (most recent call 最后): File “setup . py”,才能,line 32岁,拷贝& lt; module> ,,,,得到setuptools import 设置,find_packages ImportError: No module  named setuptools关于脉冲及setuptools的安装可以参考这里。
1.2.1可以连接外网 可以连接外网时,python的设置。py安装会自动安装依赖文件:
[root@localhost ~] #, cd /usr/地方/src (root@localhost src) #, wget https://pypi.python.org/packages/source/s/supervisor/supervisor-3.1.3.tar.gz (root@localhost src) #, tar zxf supervisor-3.1.3.tar.gz (root@localhost src) #, cd supervisor-3.1.3 [root@localhost supervisor-3.1.3] #, python setup.py 安装1.2.1不能连接外网 不能连接外网时,需要先手动安装主管所依赖的文件,以下列出:
meld3 elementtree
其中,meld3是必须安装的,elementtree博主并未安装,依然可以成功,读者可以在安装完meld3后先试验一下,如果主管可以安装成功,则可不再安装elementtree。
安装依赖文件的方法请参考<代码> 1.2.1 代码>节,这里不再赘述。
安装成功后,多出4个命令文件,分别为supervisord, supervisorctl, pidproxy, echo_supervisord_conf,这些命令文件位于python安装目录下(和皮普配置有关),如/usr/地方/python2.7.10/bin/supervisord
2。使用
主管的配置文件采用Windows ini文件的风格,以<代码>,代码>开头注释内容。使用安装主管后产生的echo_supervisord_conf命令可以生成配置文件模板:
[root@localhost ~] #,/usr/地方/python2.7.10/bin/echo_supervisord_conf 在祝辞,/etc/supervisord。参看为了快速开始使用,仅对生成的配置文件模板做少许修改。详细的配置文件说明可以参考这里。
<编辑> 2.1以根用户启动主管编辑>如果我们以根用户启动主管,需要在[supervisord]下指定用户=<代码>根> 代码:
[supervisord] … 用户=根 …启动主管:
[root@localhost ~] #, supervisord -c /etc/supervisord。参看这里要说明的一点是,在运行主管时,如果没有使用<代码> c> 代码选项指定所使用的配置文件,主管会自动依次寻找以下位置的配置文件:
$/supervisord.conf慢性消耗性疾病 美元/etc/supervisord.conf慢性消耗性疾?etc/supervisord。参看如果在这些位置没有找到配置文件,会报如下错误信息:
<>之前错误:,No config file found at default paths (/usr/etc/supervisord.conf,/usr/supervisord.conf,, supervisord.conf,,等/supervisord.conf,/etc/supervisord.conf);, use 从而-c option 用specify a config file  at a  different 路径 <编辑> 2.2监控进程编辑>修改配置文件,在<代码>[计划:custom_name]> 代码添加配置,这里我们以监控复述为例:
[计划:redis_monitor] 命令=/usr/地方/复述,/bin/redis-server /etc/redis.conf ;指定监控的命令,重要 目录=/root ;指定命令运行的目录 autorestart=true ;指定在什么情况下自动重启 用户=root ;指定以哪个用户运行命令命令 ,其他配置使用默认值即可重新启动主管,建议使用如下方式启动,将其放入后台,同时将supervisord的运行日志放入<代码> nohup。代码>中:
[root@localhost ~] #, nohup supervisord -n -c /etc/supervisord.conf ,工作积累十(二)——主管安装及使用