supervisor 使用实践

1. supervisor 介绍

Supervisor是一个客户端/服务器系统,允许用户在类UNIX操作系统上控制大量进程。

Supervisor组件:

  Supervisord: 服务器部分为Supervisord,负责启动子程序,相应客户端的命令,记录stdout,stderr。

          配置文件位于/etc/supervisord.conf中,ini风格的配置文件。

  Supervisorctl: 客户端部分为Supervisorctl,它为Supervisord服务提供一个类似shell的界面,从Supervisorctl,用户可以连接到不同的Supervisord进程,获得控制子进程状态,对子进程进行命令控制。

  Web Server: 一个功能与Supervisorctl相媲美的用户界面,可以通过浏览器进行访问。激活配置文件的[inet_http_server]部分后,可以通过访问web界面查看和控制进程状态。

平台要求:大多数Unix系统上,python2.4以上版本。(注:任何windows,pyhton3环境都不能使用)

2.安装supervisor并使用

  我是通过使用pip进行安装的,直接执行 pip install supervisor进行安装。也可以下载supervisor包进行安装,解压后调用 python setup.py install 进行安装也是可以的,安装简单。

  Supervisord安装完成后,运行echo_supervisord_conf,这将会在你的终端打印一个supervisor配置文件的样本。

需要把配置文件追加到一个文件,然后利用supervisord命令的-c 选项来指定改文件问配置文件,进行supervisord服务器的启动(可根据需要对配置文件进行修改)。

启动服务:  使用supervisord 可以直接以守护进程的方式启动进程。

  一般常用的参数(其他参数可以使用-h,--help进行查看):

      -c FILE, --configuration=FILE: 指定supervisord的配置文件。

      -n, --nodaemon: 在前台启动supervisord。

      -u USER, --user=USER: 设置启动supervisord的用户。

      -d PATH, --directory=PATH: 设置supervisord的工作目录。

      -l FILE, --logfile=FILE:  设置supervisord的日志文件路径。

      -y BYTES, --logfile_maxbytes=BYTES: 日志文件最大大小,到达大小后会进行日志分割。

      -y NUM, --logfile_backups=NUM:  保留的supervisord日志的副本数。

      -j FILE, --pidfile=FILE: pid文件的路径。

启动supervisord示例:

  supervisord -c supervisord.conf

  supervisord -n

使用supervisorctl:

  第一种: 执行supervisorctl命令,将显示一个shell,使用该控制台控制当前由supervisord管理的进程,输入help 获取相关支持的命令。

  第二种: 执行“一次性”命令,例如: supervisorctl stop all / supervisorctl status all  (会返回执行状态)

  

原文地址:https://www.cnblogs.com/40kuai/p/9134998.html

时间: 2024-11-15 00:22:35

supervisor 使用实践的相关文章

Supervisor行为分析和实践

1.简介 Erlang要编写高容错性.稳定性的系统,supervisor就是用来解决这一问题的核心思想.通过建立一颗监控树,来组织进程之间的关系,通过确定重启策略.子进程说明书等参数信息来确定佣程与督程的行为,以及在发生故障时的处理办法.简单介绍supervisor的API:      start_link(Module, Args) -> startlink_ret()      start_link(SupName, Module, Args) -> startlink_ret() 用来启

【云计算】使用supervisor管理Docker多进程-ntpd+uwsgi+nginx示例最佳实践

supervisor安装启动: apt-get install supervisor -y # start supervisord nodaemon /usr/bin/supervisord --nodaemon nginx示例: [program:nginx] command = /usr/sbin/nginx -g 'daemon off;' process_name = %(program_name)s stopsignal = QUIT autostart = true # starts

构建高并发高可用的电商平台架构实践

从各个角度总结了电商平台中的架构实践,由于时间仓促,定了个初稿,待补充完善,欢迎大家一起交流. 转载请声明出处:http://blog.csdn.net/yangbutao/article/details/12242441 作者:杨步涛 关注分布式架构.大数据.搜索.开源技术 QQ:306591368 技术Blog:http://blog.csdn.net/yangbutao 一. 设计理念 1.      空间换时间 1)      多级缓存,静态化 客户端页面缓存(http header中包

构建高并发高可用的电商平台架构实践(上)

构建高并发高可用的电商平台架构实践(上) 一. 设计理念 1.      空间换时间 1)      多级缓存,静态化 客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返回body,客户端可以继续用cache,减少流量),ETag) 反向代理缓存 应用端的缓存(memcache) 内存数据库 Buffer.cache机制(数据库,中间件等) 2)      索引 哈希.B树.倒排.bitmap 哈希索

【新书推荐】《微软开源跨平台移动开发实践》带你走近微软开源开源跨平台技术

上周收到本书作者李争送的一本12月份的新书<微软开源跨平台移动开发实践——利用ASP.NET Core 1.0 .Apache Cordova.Xamarin和Azure快速构建移动应用解决方案>.这本书的名字超长.这本书也是超薄,只有220页,一个周末时间就读完了,但是这本书的内容确是超丰富,浓缩了微软这三年向开源和跨平台领域的转变,微软在开源和跨平台领域构建出来的一套技术体系.从服务端的NET Core.ASP.NET 和 Web APi ,到Web端的 Typescript脚本语言,再到

Linux进程监控工具:Supervisor

前言 我们知道现在的APP后台服务,必须可靠的运行,我们希望如果SOA服务进程挂了,可以迅速重启,那么就需要进程的监控了,而在Linux下Supervisor是管理进程的利器.Supervisor就是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启.想一想,其实不仅仅是在SOA服务上可以进行监控,还可以对Nginx等提供服务的任何进程进行监控和管理. 安装Supervisor 如果采用离线安装的方式,涉及到诸多前置软件

【新书推荐】《微软开源跨平台移动开发实践》--带你走近微软开源开源跨平台技术

上周收到本书作者李争送的一本12月份的新书<微软开源跨平台移动开发实践——利用ASP.NET Core 1.0 .Apache Cordova.Xamarin和Azure快速构建移动应用解决方案>.这本书的名字超长.这本书也是超薄,只有220页,一个周末时间就读完了,但是这本书的内容确是超丰富,浓缩了微软这三年向开源和跨平台领域的转变,微软在开源和跨平台领域构建出来的一套技术体系.从服务端的NET Core.ASP.NET 和 Web APi ,到Web端的 Typescript脚本语言,再到

Scala在挖财的应用实践--转载

原文地址:http://www.infoq.com/cn/articles/scala-architecture-wacai 编者按:本文是根据ArchSummit大会上挖财资深架构师王宏江的演讲<Scala在挖财的应用实践>整理而成. 这次分享有三个方面,1是介绍一下挖财当前的开发情况和后端的架构, 2是挖财选择Scala的原因,3是挖财使用Scala相关的技术时碰到的问题以及经验. 第一部分是团队的情况和后端技术的架构.近一年我们的开发团队从50人增长到了现在两百人,公司总人数扩张到600

构建高并发高可用的电商平台架构实践 转自网络

从各个角度总结了电商平台中的架构实践,由于时间仓促,定了个初稿,待补充完善,欢迎大家一起交流. 转载请声明出处: 作者:杨步涛 关注分布式架构.大数据.搜索.开源技术 QQ:306591368 技术Blog:http://blog.csdn.net/yangbutao 一. 设计理念 1.      空间换时间 1)      多级缓存,静态化 客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返回bo