Supervisor介绍

Supervisor 允许其用户在UNIX类操作系统上控制多个进程。 块如下:

方便

需要为每个进程实例编写rc.d脚本通常是不方便的。 rc.d脚本是进程初始化/自动启动/管理的常用形式,但写入和维护可能会很痛苦。此外,rc.d脚本不能自动重新启动崩溃的进程,并且许多程序在崩溃时不会正常重新启动。Supervisord启动进程作为其子进程,并可以配置为在崩溃时自动重新启动它们。它也可以自动配置为在其自身的调用中启动进程。

准确性

在UNIX上的进程通常很难获得准确的上/下状态。Pidfiles经常说谎。Supervisord启动进程作为子进程,所以它总是知道它的子进程的真正的上/下状态,可以方便地查询这些数据。

进程组

进程通常需要以组为单位启动和停止,有时甚至在“优先级顺序”中。人们常常难以解释这一点。Supervisor 允许您为进程分配优先级,并允许用户通过supervisorctl客户端发出命令,如“全部启动”和“重新启动所有”,以预分配的优先级顺序启动它们。此外,进程可以分组为“进程组”,一组逻辑关联进程可以作为一个单元停止并启动。

特征

简单

Supervisor通过简单的INI风格的配置文件进行配置,易于学习。它提供了许多每个进程选项,使您的生活更容易,如重新启动失败的进程和自动日志轮换。

集中

进程可以单独或分组控制。您可以配置Supervisor以提供本地或远程命令行和Web界面。

高效

Supervisor通过fork / exec启动其子进程,子进程不进行后台进程。

扩展性强

Supervisor有一个简单的事件通知协议,用任何语言编写的程序都可以用来管理它,还有一个用于控制的XML-RPC接口。它还使用可以由Python开发人员利用的扩展点构建。

兼容

supervisor除Windows之外。它在Linux,Mac OS X,Solaris和FreeBSD上进行了测试和支持。它完全用Python编写,因此安装不需要C编译器。

稳定性

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



Supervisor 组件

supervisord

supervisord服务端程序。它负责在自己的调用中启动子程序,响应客户端的命令,重新启动崩溃或退出的子进程,记录其子进程stdoutstderr 输出,以及生成和处理对应于子进程生命周期中的“事件”。

配置文件。这通常位于/etc/supervisord.conf中。此配置文件是“Windows-INI”样式的配置文件。适当的文件系统权限来保护此文件非常重要,因为它可能包含未加密的用户名和密码。

supervisorctl

supervisor的命令行客户端名为 supervisorctl。它为supervisor提供的功能提供了一个类似shell的界面。从supervisorctl,用户可以连接到不同的 supervisord,停止和启动的子进程,并获得运行的进程的列表supervisord。

命令行客户端通过UNIX域套接字或Internet(TCP)套接字与服务器通信。服务器可以断言客户端的用户在允许他执行命令之前应该出现认证凭证。客户端进程通常使用与服务器相同的配置文件,但其中具有[supervisorctl]部分的任何配置文件都可以正常工作。

Web Server

Web Server 可以通过浏览器访问查看和控制进程状态,在置文件的[inet_http_server]块里配置,访问服务器URL(例如http:// localhost:9001 /)以通过Web界面查看和控制进程状态。

XML-RPC接口

服务于Web UI的相同的HTTP服务器提供了一个XML-RPC接口,可用于询问和控制supervisor及其运行的程序。请参阅XML-RPC API文档


安装使用方法 点击这里 wuguiyunwei.com

supervisor 安装配置的更多相关文章

  1. .Net Core Linux部署之进程守护 Supervisor 安装配置

    1.Supervisor 安装 //安装easy_install yum install python-setuptools //安装Supervisor easy_install superviso ...

  2. supervisor安装配置与使用

    supervisor:C/S架构的进程控制系统,可使用户在类UNIX系统中监控.管理进程.常用于管理与某个用户或项目相关的进程. 组成部分supervisord:服务守护进程supervisorctl ...

  3. supervisor 安装 配置 及 使用

    supervisor是微软官方推荐的一个工具,传送门, 所以我们也使用这个工具来管理我们的asp.net core应用进程   服务器环境:ubuntu14.04 x64   安装  apt-get ...

  4. supervisor安装配置

    1.安装 下载:https://codeload.github.com/Supervisor/supervisor/zip/3.1.3 2.安装 .zip cd supervisor- python ...

  5. supervisor 安装配置详解

    一.安装 源码安装 先下载最新的supervisor安装包:https://pypi.python.org/pypi/supervisor , 如: (python3命令为 pip install g ...

  6. CentOS7下Supervisor安装与配置

    Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统 ...

  7. supervisor安装和配置

    直接命令 easy_install supervisor 如果报错先安装 yum install python-setuptools,再上面一条命令: 安装成功后显示finished,我们再次进行py ...

  8. mac下supervisor安装及简单配置

    supervisor是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(守护进程).可以用他来管理自己的“服务程序”. 安装 首先安装Python,Mac系统好像自带. 执 ...

  9. Supervisor安装与配置(Linux/Unix进程管理工具)

    原文链接:http://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Pyth ...

随机推荐

  1. [刷题]算法竞赛入门经典(第2版) 5-9/UVa1596 - Bug Hunt

    //开学了,好烦啊啊啊啊啊!怎么开个学那么多破事情!!都俩星期了,终于有时间写出来一道题 题意:不难理解,不写了.这几天忙的心累. 代码:(Accepted, 0.010s) //UVa1596 - ...

  2. Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦

    个人博客 对于技术人员来说,拥有自己的个人博客应该是一件令人向往的事情,可以记录和分享自己的观点,想到这件事就觉得有意思,但是刚开始写博客的时候脑海中是没有搭建个人博客这一想法的,因为刚起步的时候连我 ...

  3. mac Ubuntu 设置快捷进入目录

    在我们实际工作中,好多时间需要经常性的进入某个目录查看文件等等之类的操作. 好多时候我们都是在终端一级一级的进入目录,相比较Windows的快捷方式有点繁琐. 废话少说,下面就是设置快捷方式的方法: ...

  4. 深入解析java String中getBytes()的编码问题

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6900536.html Java服务器后台在和Android端App通信时,遇到了两端关于用MD5加密同一包含 ...

  5. Microsoft Azure IoTHub Serials 1 - 使用Android设备与Azure IoTHub进行交互

    Azure IoTHub的目标是为物联网的应用场景提供方便的设备接入,完成消息的发送和接收(C2D和D2C).经过持续不断的努力,目前Azure IoTHub已经支持多种操作系统设备的接入,包括And ...

  6. 快速找到ARP病毒源

    第一招:使用Sniffer抓包 在网络内任意一台主机上运行抓包软件,捕获所有到达本机的数据包.如果发现有某个IP不断发送请求包,那么这台电脑一般就是病毒源.原理:无论何种ARP病毒变种,行为方式有两种 ...

  7. 6.类似Object监视器方法的Condition接口

    在<1.有关线程.并发的基本概念>中,我们利用synchronized关键字.Queue队列.以及Object监视器方法实现了生产者消费者,介绍了有关线程的一些基本概念.Object类提供 ...

  8. Vulkan Tutorial 05 逻辑设备与队列

    操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 Introduction 在选择要使用的物理设备之后,我们需要设置一个逻辑设备用于交 ...

  9. JSP/Servlet Web 学习笔记 DayTwo

    JSP指令 a)page指令 定义JSP文件中的全局属性.一个JSP页面可以包含多个page指令.除了Import以外,其他page指令定义的属性/值只能出现一次. 其详细语法为: <%page ...

  10. 入职这一段时间的总结,Don't Repeat Yourself.

    1.第一次接触到大型软件系统的开发,现在我们使用的是 python + flask +vue.js ,数据库:postgresql 2. 不要在自己不懂的情况下复制代码,每次分析一段代码的时候,就跟以 ...