supervisord安装使用简记

What is supervisor

Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems.

引用自supervisor官网,中文意思就是是一个C/S架构的系统,用来监控管理类UNIX系统上进程。

Features

简单,高效,可扩展,兼容性好(Orz,其实不能在windows上用)

想看更多请去官网

Installing

  1. 因为是用Python实现的,所以最简单的方式是pip install supervisor
  2. ubuntu系统上也可以直接使用sudo apt-get install supervisor

Configure

  • 使用 echo_supervisord_conf 就可以看到默认的配置文件,如下:
➜  Log echo_supervisord_conf  
; Sample supervisor config file.
;
; For more information on the config file, please see:
; http://supervisord.org/configuration.html
;
; Notes:
;  - Shell expansion ("~" or "$HOME") is not supported.  Environment
;    variables can be expanded using this syntax: "%(ENV_HOME)s".
;  - Comments must have a leading space: "a=b ;comment" not "a=b;comment".
  • 配置文件

使用echo_supervisord_conf > /etc/supervisord.conf命令将配置文件保存在xx下面,然后修改配置文件。推荐的方式是将最后一行修改到某个固定文件夹,如下:

[include]
files = /etc/supervisord.d/*.ini

这样每次运行都会加载此目录下的配置文件,每个文件单独管理一个进程。而*.ini的内容一般如下:

配置1
[program:simpleserver]
command=python -m SimpleHTTPServer  # 执行的命令 ,若是虚拟环境则需要注意命令的路径,见配置2
directory=/home/wang/Downloads  # 执行命令的路径
user=wang  #  执行命令的用户
autorestart=true  # 出错后自动重启
redirect_stderr=true  # 错误日志重定向
stdout_logfile=/home/wang/Log/SimpleHTTPServer.log  # 日志的路径
loglevel=info  # 日志的级别
配置2
[program:hongbaoyun]
command=/home/wang/.virtualenvs/xxx-virtual-env/bin/python manage.py runserver 0.0.0.0:9999  # 此处python位置是virtualenv中python的位置
directory=/home/wang/Workspace/khb/hongbaoyun
user=wang

Run

  • 启动
    supervisord -c supervisord.conf # 指定配置文件启动supervisord

  • 启动spuervisordctl
    supervisordctl

  • supervisordctl常用命令

supervisorctl stop program_name  # 停止某一个进程,program_name 为 [program:x] 里的 xsupervisorctl start program_name  # 启动某个进程supervisorctl restart program_name  # 重启某个进程supervisorctl stop groupworker:  # 结束所有属于名为 groupworker 这个分组的进程 (start,restart 同理)supervisorctl stop groupworker:name1  # 结束 groupworker:name1 这个进程 (start,restart 同理)supervisorctl stop all  # 停止全部进程,注:start、restartUnlinking stale socket /tmp/supervisor.sock
、stop 都不会载入最新的配置文件supervisorctl reload  # 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程supervisorctl update  # 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启
  • 图行管理界面

在配置文件中去掉 [inet http server]的注释就可在浏览器中通过127.0.0.1:8000中看到图形管理界面

FAQ

  • 可能会出现 Unlinking stale socket /tmp/supervisor.sock 的错误,解决方式见 http://stackoverflow.com/questions/14479894/stopping-supervisord-shut-down, 是配置文件的问题

  • 开机自动启动,见 http://serverfault.com/questions/96499/how-to-automatically-start-supervisord-on-linux-ubuntu

Refer

  • http://www.restran.net/2015/10/04/supervisord-tutorial/ (很详细,推荐看)

  • http://supervisord.org/ (官网)

  • http://stackoverflow.com/questions/14479894/stopping-supervisord-shut-down

  • http://serverfault.com/questions/96499/how-to-automatically-start-supervisord-on-linux-ubuntu

739727-20170915172117313-1409746903.png

转载于:https://www.cnblogs.com/wswang/p/5795766.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/490061.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python文件读写方法手机_python读取文件—txt文件常用读写操作

txt文件的打开的两种方式:f open("data.txt","r") #设置文件对象f.close() #关闭文件为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代with open(data.txt,"r") as f: #设置文件对象str f…

ppt放映显示备注 投影不显示

点击设置幻灯片放映 勾选使用演示者视图 点击从当前幻灯片开始 在放映幻灯片过程中右键鼠标,点击显示演示者视图

懂数学人的都认同:数学的本质[关联]万物(一)

来源:数学职业家本文将会以数学为主线和切入点,进行一次思想和思维上的自由推理探索认知之旅,并将会透过一种有趣视角和观点,窥见一个我们所熟悉又有所不同的世界、万事万物和我们的宇宙。现在就让我们开始这次认知探索的旅程吧。…

python怎么做数据分析_如何用python进行数据分析

1、Python数据分析流程及学习路径 数据分析的流程概括起来主要是:读写、处理计算、分析建模和可视化四个部分。在不同的步骤中会用到不同的Python工具。每一步的主题也包含众多内容。根据每个部分需要用到的工具,Python数据分析的学习路径如下&#xff1…

Ruby 基础教程1-6

1.循环实现方法 循环语句 (while;for; loop,until)循环方法(times,each)2.for for 变量 in 对象主体end3.whilewhile 条件end4.until与while相反 条件不成立才进入循环体until 条件end5.循环控制break nextredo 重复执行当前循环,循环变量不变6.选择times 确定循…

redis实例python_生产消费者模式与python+redis实例运用(基础篇)

根据这个图,我们举个简单的例子:假如你去某个餐厅吃饭,点了很多菜,厨师要一个一个菜的做,一个厨师不可能同时做出所有你点的菜,于是你有两个选择:第一个,厨师把所有菜都上齐了&#…

一文告诉你,谷歌是否真的实现了「量子至上」

▲ 上图展示的是量子计算机系统中的一个组成部分(稀释制冷机),这张照片拍摄于2016年的一间无尘运行室。如果量子计算机真的能够以超越传统计算机的速度与效率完成某种计算,那么“量子至上”目标就算是真正达成。但是,这…

有两个python怎么停用其中一_如何在python中停止另一个已经运行的脚本?

There is a way to start another script in python by doing this: import os os.system("python [name of script].py") So how can i stop another already running script? I would like to stop the script by using the name. 解决方案 It is more usual to i…

git 使用及常用命令

git在团队项目中的使用流程 1.首先从一个git远程仓库中clone项目到本地 ?1git clone 仓库地址2.创建开发分支 一般我们写代码不会在master分支上面写,而是新建一个分支 ?1git checkout -b test3.在test分支上面进行代码修改,比如完成某一项功能的开发 …

华为防火墙做单臂路由_华为单臂路由的配置方法步骤图

部署了VLAN的交换机可以实现在同一广播域内不同主机之间的通信,但是要想实现不同VLAN间主机通信,就要引入路由技术,可以通过二层交换机配合路由器来实现路由转发。下面是学习啦小编给大家整理的一些有关华为单臂路由配置方法,希望…

url主机域名可以省略_从输入url到页面完成加载发生了什么

作者 | Jake Zhang链接 | https://juejin.im/post/5e92f11b6fb9a03c46493880在写这篇文章之前本想着这个知识点涉及知识点太多太杂,找一篇大牛写的看看就算了,但是看了大概七八篇后,内心更纠结了——🙃🙃🙃…

Java的api中文文档

Java 8 中文版 - 在线API中文手册 - 码工具

揭秘毕加索被隐藏千年的“画中画”,神经网络让它重新面世

来源:technologyreview众所周知,毕加索是一位西班牙的天才画家,在20世纪时没有哪位艺术家能够像毕加索一样画风多变。毕加索的作品通常被分为9个时期,时期的名称尚有争议,大致是“蓝色时期”、“粉红色时期”、“立体主…

ssm如何支持热部署_Pipedrive如何在每天部署50+次的情况下支持质量发布?

作者 | Valeriia Iuzhakova 策划 | 田晓旭 “我把每一天都看作是比昨天高出一个档次的机会——无论是在服务质量、交付、速度还是业务的其它任何方面。”1 介绍 — 速度 Vs. 质量 客户总是在寻找有效的解决方案,来满足他们已经确定地需求,并为他们节省资…

armv7 cortex a系列编程手册_STM32、Cortex-M3和ARMv8-M之间的关联

大家都应该知道STM32、Cortex-M3、ARMv8-M与ARM有关,但可能分不清他们是什么关系,或者具体是什么东西。嵌入式开发直播课 - STM32 USART串口的应用 - 创客学院直播室​www.makeru.com.cn一、总述ARMv8-M:是一款ARM架构。ARM架构分为&#xff…

IDEA如何显示类的所有方法

ALT7(数字7) 例如在Thread类下(Thread.java)按ALT7,就能左下角显示这个类的所有方法,点击相应方法会跳到那个方法中

5G只是小儿科?任正非对话人工智能专家2万字实录

9月26日,深圳,华为公司创始人任正非对话两位人工智能专家杰里卡普兰和彼得柯克伦。来源:澎湃新闻9月26日下午,深圳,华为公司创始人任正非对话两位人工智能专家杰里卡普兰和彼得柯克伦,三人围绕“创新”&…

loading 遮罩demo

之前项目手写loading加载ingdemo&#xff0c; 其中涉及图片是项目中用到&#xff0c; 注意&#xff1a; loadingBar div需要放到页面内容最前面; 至于何时出现或者控制隐藏显示 可使用js灵活控制即可。 <!doctype html> <html> <head> <meta charset&quo…

centos jupyter 安装_centos7安装 jupyter

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本&#xff0c;支持运行 40 多种编程语言。Jupyter Notebook 的本质是一个 Web 应用程序&#xff0c;便于创建和共享文学化程序文档&#xff0c;支持实时代码&#xff0c;数学方程&#xff0c;可视化和 markdown…

IDEA自动生成try catch异常处理语句

在写Java程序时&#xff0c;有些方法需要我们对其进行异常处理&#xff0c;例如线程的join方法&#xff0c;IDEA可以自动帮我们生成try catch语句 现在写一个join方法&#xff0c;发现下划线报错&#xff0c;因为需要对其异常处理 我们将鼠标放到报错处&#xff0c;按下altent…