Supervisor 配置过程

(转自https://www.izixia.cn/2016/01/03/supervisor-pei-zhi-guo-cheng/)

1.安装 
pip install supervisor 安装后测试是否成功echo_supervisord_conf

2.建立配置文件 
创建目录

mkdir -m 755 -p /etc/supervisor/

mkdir -m 755 conf.d

echo_supervisord_conf > /etc/supervisor/supervisord.conf

在conf.d 文件夹中创建配置文件如app.ini

[program:pmapp]
command=python3 /home/keith/temp/app.py
autorestart=true
stdout_logfile=/home/keith/temp/supervisord_stdout.log
stderr_logfile=/home/keith/temp/supervisord_stderr.log
[supervisord]

app.py的内容如下,功能是一个每五秒在写入一条记录:

import time

def log():
while True: with open('a.txt','a') as f:
s = 'log:%s \n'%time.strftime('%H:%M:%S')
f.write(s)
print(s)
time.sleep(5)
log()

3.添加配置文件到主配置文件

打开/etc/supervisor/supervisord.conf 文件,到最后一行可以看到

;[include]
;files = /relative/dictory/*.ini

删除这里的分号,然后添加我们配置文件/etc/supervisor/conf.d/app.ini,修改后如下

[include]
files = /etc/supervisor/conf.d/*.ini /etc/supervisor/example.ini

多个路径用空格隔开就可以了

4.启动supervisor

supervisor有两个命令,supervisordsupervisorctl,通过supervisord管理启动和配置supervisor本身,通过supervisorctl来管理使用supervisor启动和管理的自身的一些应用,如我们的这里的app.py

  • 启动supervisor 用命令
supervisord -c /etc/supervisor/supervisord.conf
  • 关闭supervisor 用命令
supervisorctl shutdown

如果先建的app.ini(控制文件),在使用启动命令后这些经过配置的程序也会启动

  • 启动程序app.py
supervisorctl start program_name

这里的program的name是配置文件ini中的[program:name],所以这里的program_name是pmapp

  • 关闭程序app.py
supervisorctl stop program_name
  • 刷新配置文件 如果启动后,修改了ini文件,可以通过reload命令来刷新
supervisorctl reload
  • 查看supervisor的运行状态
ps -efH|grep supervisor

这里提醒一下如果按以上操作出现以下error:

Error: .ini file does not include supervisorctl section
For help, use /usr/local/bin/supervisorctl -h

或者

error: <class 'socket.error'>, [Errno 101] Network is unreachable: file: /usr/lib/python2.7/socket.py line: 571

切换到/etc/supervisor目录执行以上的命令

执行supervisorctl start APP_NAME 或者执行 supervisorctl 的相关命令,如果出现

unix:///tmp/supervisor.sock no such file

说明 Supervisord 服务还没有启动,检查你的 supervisord.conf 文件最后的注释 ; 取消,files 路径没有问题

[include]
files = ./conf.d/*.ini

之后在目录 /etc/supervisor 下重新运行

supervisord -c /etc/supervisor/supervisord.conf

最后附上 supervisord 服务运行命令

重新 read 配置文件: supervisorctl reread

重启服务: supervisorctl reload

关闭服务: supervisorctl shutdown

Supervisor 配置过程的更多相关文章

  1. Linux LVM逻辑卷配置过程详解

    许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份.删除相关数据,甚至被迫重新规划分区并重装操作系统,以 ...

  2. elasticsearch5.0.0 安装插件及配置过程

    elasticsearch5.0.0 安装插件及配置过程 由于es5.0是里程碑式的更新,所以很多变化的地方,暂时我就插件安装遇到的问题记录一下. 插件安装命令 2.3版本的安装命令 安装Marvel ...

  3. synergy 两台Windows电脑配置过程

    Synergy 介绍 软件作用 Synergy 两台独立电脑,共享一套鼠标和键盘的工具, 软件原理(我自己想的) 保证两台电脑在一个局域网内,可以相互Ping通的电脑(这样才能直接通过TCP连接) 将 ...

  4. 图解MySQL5.5详细安装与配置过程

    MySQL是一个开源的关系型数据库管理系统,原由瑞典MySQL AB公司开发,目前属于Oracle公司旗下.MySQL是目前世界上开源数据库中最受欢迎的产品之一,是应用最为广泛的开源数据库.MySQL ...

  5. tesseract配置过程

    tesseract配置过程: 1. 为了避免配置环境变量,可以先下载一个 tesseract-ocr-setup-3.02.02.exe(tesseract配置文件夹里有),然后安装(假设安装目录为D ...

  6. [转]caffe的配置过程

    caffe的配置过程 转:http://blog.csdn.net/brightming/article/details/51106629   版权声明:本文为博主原创文章,欢迎转载!转载请写明原文链 ...

  7. Sublime Text2配置过程

    今天Sublime Text2不知道为什么突然崩溃了,一直不能运行,没办法只有重装了,重装后按我的用途重新配置了一下,现将配置过程记录下来以备将来不时之需 说明:配置是在windows系统上进行的,其 ...

  8. WAMP(Windows、Apache、MySQL、php)安装配置过程常见问题

    WAMP(Windows.Apache.MySQL.php)安装配置过程 可以参考该网友的总结(总结的不错,鼓掌!!): http://www.cnblogs.com/pharen/archive/2 ...

  9. Win7上Git安装及配置过程

    Win7上Git安装及配置过程 文档名称 Win7上Git安装及配置过程 创建时间 2012/8/20 修改时间 2012/8/20 创建人 Baifx 简介(收获) 1.在win7上安装msysgi ...

随机推荐

  1. 九数组分数|2015年蓝桥杯B组题解析第五题-fishers

    九数组分数 1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法? 下面的程序实现了该功能,请填写划线部分缺失的代码. #include <stdio.h> void t ...

  2. HDU 4819 Mosaic (二维线段树&区间最值)题解

    思路: 二维线段树模板题,马克一下,以后当模板用 代码: #include<cstdio> #include<cmath> #include<cstring> #i ...

  3. nginx配置二级域名

    我在我的服务器上面跑了两个node应用程序,分别一个端口2368跑的是ghost博客,一个端口8000跑的是我的demo程序.想要一级域名zhangruojun.com用来访问博客,二级域名demo. ...

  4. hdoj上的一题和程序设计第二次作业的拓展-人见人爱a+b

    hdoj上一道有意思的题目,题目: 人见人爱a+b 敲的也蛮快的,大概十分钟左右就AC了.代码如下: 人见人爱a+b #include<stdio.h> int main() { int ...

  5. BZOJ 1009: [HNOI2008]GT考试(kmp+dp+矩阵优化)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1009 题意: 思路:真的是好题啊! 对于这种题目,很有可能就是dp,$f[i][j]$表示分析到第 ...

  6. 2:JavaScript中的基本运算

    今天说的是JavaScript中的数据基本运算 在上一节中已经说了关于JavaScript中的基本数据类型 那么数据有了 剩下来就是数据之间的运算 表达式-------预算符(赋值 比较 算数 逻辑 ...

  7. /etc/fstab 文件解析

    首先介绍一下fstab :这个文件描述系统中各种文件系统的信息.一般而言,应用程序仅读取这个文件,而不对它进行写操作.对它的维护是系统管理员的工作.在这个文件中,每个文件系统用一行来描述,在每一行中, ...

  8. 20170501xlVBA销售订单整理一行转多行

    Sub NextSeven_CodeFrame() Application.ScreenUpdating = False Application.DisplayAlerts = False Appli ...

  9. hdu 6299 Balanced Sequence (括号序列,贪心)

    大意: 记$f(t)$表示字符串$t$的最长括号匹配子序列, 给定n个括号序列, 求它们重排后的最大f(t). 首先可以注意到一个括号序列中已经匹配的可以直接消去, 一定不会影响最优解. 那么这样最终 ...

  10. php安装redis扩展全

    一.安装redis mac 下安装也可以使用 homebrew,homebrew 是 mac 的包管理器. 1.执行 brew install redis 2.启动 redis,可以使用后台服务启动  ...