特性

Supervisor是一个在类Unix系统上管理进程的软件, 它提供客户/服务器的管理模式。 有如下的特性:

  • 简单

    它通过简单格式的配置文件配置 supervisor, 通过 start、stop、restart、status简单命令管理进程,并方便的配置进程的输出日志文件,切割日志文件。

  • 中心化

    可通过配置以提供本地命令、远程执行命令或通过Web页面执行命令

  • 高效

    Supervisor通过fork / exec启动子进程,子进程不用守护。当子进程终止时,操作系统会立即向Supervisor发送信号,这样Supervisor实时掌握子进程状态,与某些依赖麻烦的PID文件和定期轮询以重新启动失败进程的解决方案不同。

  • 可扩展

    Supervisor有一个简单的事件通知协议,使用该协议可以使用任何编程语言编写程序对其进行监视,具有用于控制的XML-RPC接口。Python开发人员可以方便地利用扩展点构建。

  • 兼容性好

    除Windows之外,Supervisor几乎适用于所有其它操作系统。 它已在Linux,Mac OS X,Solaris和FreeBSD上经过测试和支持。 它完全用Python编写,因此安装不需要C编译器。

  • 久经考验

    Supervisor已经存在了很多年,并且已经在许多服务器上使用。

安装

在联网的环境下可以通过安装 pip install 安装(pip 是python 包安装管理工具,它的使用安装请参考 pip 安装使用

pip install supervisor

需要root用户权限才能使用pip成功安装Supervisor

在联网环境下不通过 pip 安装

如果你系统没有安装 pip ,并且也不想在安装 pip ,可以通过下载Supervisor的发布的包手动安装,下载地址PiPy,当前realse版本和历史版本都能下载到。解压tar -xzvf supervisor-x.x.x.tar.gz 下载的包文件然后进入解压后文件夹并运行python setup.py install,安装脚本会访问网络下载Supervisor 需要的文件最终安装好Supervisor

注意 新版本已不支持python 2了,请使用python 3, 另外需要root 权限才可以使用命令 python setup.py install 安装

在无互联网环境下安装

首先在一台能联网的计算机下载 setuptools。 将下载的setuptools 通过U盘复制到目标机上。 在目标机上通过python setup.py install安装。

注意需要root用户权限才能使用pip成功安装Supervisor

####安装 Distribution 包####

某些Linux发行版提供通过系统软件包管理器安装Supervisor。 这些软件包是由第三方(而非Supervisor开发人员)制作的,并且通常包括针对Supervisor的特定于发行版的更改。

使用软件包管理工具来检查 supervisor 是否可以安装; 例如 在Ubuntu上,您可以运行apt-cache show Supervisor;在CentOS上,您可以运行yum info supervisor

使用软件包管理工具安装Supervisor,通常把supervisor服务集成到系统管理的基础架构中,例如 允许supervisor在开机时自动启动。

注意 通过系统安装包工具安装的supervisor的版本可能远远低于 官方发布的Supervisor版本

创建supervisor的配置文件

Supervisor安装完成后,运行echo_supervisord_conf,会将Supervisor的示例配置文件打印到终端。 运行echo_supervisord_conf > /etc/supervisord.conf命令,生成配置文件,此命令访问到了系统目录所以需要root 权限。 启动supervisor时通过 -c 指定配置文件,例如 supervisord -c /etc/supervisord.conf ,如果在运行 supervisord命令的当前目录有supervisord.conf配置文件,也可以不用指定,因为会在当前目录生机查找。 supervisor的配置文件根据需要自行修改