supervisor简洁用例
supervisor是什么
superviosr是一个Linux/Unix系统上进程监控和管理的工具,它由python编写,可以用pip安装。supervisor能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启
为什么要使用supervisor
supervisor可以实现单个或成组地控制进程,它可以把web服务的进程组当作自己的子进程,在子进程挂掉时重启。对一组进程进行统一管理是linux没有的功能
supervisor组件
supervisord是管理其他进程的主进程
supervisorctl是supervisor客户端的命令行工具
主配置文件supervisord.conf
unix_http_server 配置块
在该配置块的参数项表示的是一个监听在socket上的HTTP server
[unix_http_server]
file=/tmp/supervisor.sock ; (the path to the socket file)
chmod=0766 ; socket file mode (default 0700)
file: unix domain socket的文件路径。supervisorctl通过它与supervisord进行通信
chmod: 修改supervisor.sock文件的权限
supervisord 配置块
该配置块的参数项是关于supervisord进程的全局配置项
[supervisord]
logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10 ; (num of main logfile rotation backups;default 10)
loglevel=info ; (log level;default info; others: debug,warn,trace)
pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=false ; (start in foreground if true;default false)
minfds=1024 ; (min. avail startup file descriptors;default 1024)
minprocs=200 ; (min. avail process descriptors;default 200)
logfile: log文件路径。与子进程的日志不同
logfile_maxbytes: log文件达到多少自动进行轮转,单位是kb、单位是KB、MB、GB。如果设置为0则表示不限制日志文件大小。当日志大小超过50MB时,生成一个新的日志文件
logfile_backups:轮转日志备份的数量,默认是10,如果设置为0,则不备份
loglevel:error、warn、info、debug、trace、blather、critical
pidfile:pid文件路径
nodaemon:如果设置为true,则supervisord在前台启动,而不是以守护进程启动
minfds:supervisord在成功启动前最少系统空闲的文件描述符,默认1024
minprocs:supervisord在成功启动前最小可用的进程描述符,默认200
supervisorctl配置块
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket
- serverurl: 这个是supervisorctl本地连接supervisord的时候,本地UNIX socket路径,注意这个是和前面的[unix_http_server]对应的
默认值就是unix:///tmp/supervisor.sock
- serverurl: 这个是supervisorctl本地连接supervisord的时候,本地UNIX socket路径,注意这个是和前面的[unix_http_server]对应的
rpcinterface配置块
这个选项是给XML_RPC用的,如果想使用supervisord或者web server这个选项必须要开启
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
include配置块
用于将写在cong.d中的*.ini文件内容读入主配置文件
一般一个ini文件包含一个program配置块。用于配置web服务进程的启动命令、目录、日志位置等
[include]
files = /etc/supervisor/conf.d/*.ini
program配置块
[program:myserver]
command=/home/my_web_server/venv/bin/gunicorn -w4 -b0.0.0.0:8105 app.wsgi:application
directory=/home/my_web_server/
user=deploy
stdout_logfile=/home/logs/server.log
stderr_logfile=/home/logs/server.err.log
command:启动程序使用的命令,可以是绝对路径也可以是相对路径
directory:supervisord在生成子进程的时候会切换到该目录
user: 如果supervisord以root运行,则会使用这个设置用户启动子程序
stdout_logfile:进程标准输出的文件位置
stderr_logfile:进程错误日志输出的文件位置
还有一些可选配置:
autorestart = true在子进程挂掉后重启priority=1子进程启动关闭优先级,优先级低的,最先启动,关闭的时候最后关闭。数字越高,优先级越高numprocs=1启动进程的数目
在新建了ini配置文件后,要用supervisorctl重新加载配置文件
supervisorctl reload
supervisor简洁用例的更多相关文章
- MATLAB for循环优化三例
最近一周,对MATLAB有进行了新一轮的学习,对其矩阵化编程的思维有了更深入的了解.确实精妙! 例1: 将矩阵A= [1 2 3; 2 4 3; 3 4 5]中所有的数字3替换为33. 如果还停留在C ...
- Supervisor (进程管理利器) 使用说明 - 运维笔记
一.Supervisor简单介绍supervisor是一个 Client/Server模式的系统,允许用户在类unix操作系统上监视和控制多个进程,或者可以说是多个程序.supervisor与laun ...
- Python【基础第三篇】
set集合 s1=set() 集合特点: 访问速度快 没有重复项 collections系列(数据类型容器模块) 一.计数器(Counter) Counter是对字典类型的补充,用于追踪值的出现次数. ...
- AspxGridView使用手记
AspxGridView使用手记 一. 基本使用方法 4 1.导入Dll文件 4 2.Asp.Net页面控件注册 4 3. Asp.Net页面控件声明 5 4.删除licenses. ...
- AspxGridView服务器事件列表
2.AutoFilterCellEditorCreate (1)语法:publicdelegate void ASPxGridViewEditorCreateEventHandler(object s ...
- JAVA 画图机制
java学习脚印:深入java绘图机制 写在前面 封装性越好的类在使用时,只要清楚接口即可,而不应该让程序员了解其内部结构; 对于平常的绘图来讲,java绘图机制无需了解太多,但是朦胧容易产生错误,绘 ...
- 如何打一个RPM包
如何打一个RPM包 参考链接:RPM打包原理.示例.详解及备查 前言 本文只是一个RPM安装的例子,并没有对RPM做比较详尽的叙述,更为详尽的讲解,可以在上面的链接中找到. RPM是啥? RPM(Re ...
- 进程监控工具supervisor 启动Mongodb
进程监控工具supervisor 启动Mongodb 一什么是supervisor Superviosr是一个UNIX-like系统上的进程监控工具. Supervisor是一个Python开发的cl ...
- Android UI自动化用例设计技巧
一.封装方法 1.编程如何越来越快: 首先,需要经验丰富,知识面广. 其次,每一个熟练编程的人员,都会有自己的一个库,解决各种问题.各种通用的方法函数. 同理,自动化脚本也是编程,测试用例则为需求,U ...
随机推荐
- SpringBoot(六)_AOP统一处理请求
什么是AOP AOP 是一种编程范式,与编程语言无关: 将通用逻辑从业务逻辑中分离出来(假如你的业务是一条线,我们不在业务线上写一行代码就能完成附加任务!我们会把代码写在其他的地方): 具体实现 (1 ...
- 计算机网络【1】—— OSI七层协议和TCP/IP四层协议
新开一贴,专门用来记录计算机网络相关知识. 一.OSI七层协议 物理层.数据链路层.网络层.传输层.会话层.表示层.应用层 二.TCP/IP四层协议 网络接口层.网际层.运输层.应用层 三.五层协议 ...
- [BZOJ4446]SCoi2015 小凸玩密室 树形DP(烧脑高能预警)
4446: [Scoi2015]小凸玩密室 Time Limit: 10 Sec Memory Limit: 128 MB Description 小凸和小方相约玩密室逃脱,这个密室是一棵有n个节点 ...
- 记一个鼠标略过时候的css动画
.circle{ width: 15px; height: 15px; background: rgba(0,0,0,0.7); border-radius: 50%; display: table- ...
- 【BZOJ4710】[JSOI2011]分特产(容斥)
[BZOJ4710]分特产(容斥) 题面 BZOJ 题解 比较简单吧... 设\(f[i]\)表示至多有\(i\)个人拿到东西的方案数. \(f[i]=\prod_{j=1}^m C_{m+i-1}^ ...
- BZOJ2789 [Poi2012]Letters 【树状数组】
题目链接 BZOJ 题解 如果我们给\(A\)中所有字母按顺序编号,给\(B\)中所有字母编上相同的号码 对于\(B\)中同一种,显然号码应该升序 然后求逆序对即可 #include<algor ...
- BZOJ3672 [Noi2014]购票 【点分治 + 斜率优化】
题目链接 BZOJ3672 题解 如果暂时不管\(l[i]\)的限制,并假使这是一条链 设\(f[i]\)表示\(i\)节点的最优答案,我们容易得到\(dp\)方程 \[f[i] = min\{f[j ...
- linux内核设计与实现一书阅读整理 之第十八章
CHAPTER 18 调试 18.1 准备开始 需要的是准备是: - 一个bug - 一个藏匿bug的内核版本 - 相关内核代码的知识和运气 重点: 想要成功的进行调试,就取决于是否能让这些错误重现. ...
- 解题:CF983A Finite or not
题面 一个$b$进制最简分数是有限循环小数当且仅当其分母没有与$b$不同的质因子,小学数奥内容水过 #include<cstdio> #include<cstring> #in ...
- BZOJ 2140 稳定婚姻
2140: 稳定婚姻 Description 我国的离婚率连续7年上升,今年的头两季,平均每天有近5000对夫妇离婚,大城市的离婚率上升最快,有研究婚姻问题的专家认为,是与简化离婚手续有关. 25岁的 ...