supervisor详解_51CTO博客_supervisor


本站和网页 https://blog.51cto.com/luweiv998/2122924 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

supervisor详解_51CTO博客_supervisor
supervisor详解
关注
luweiv998
文章目录
第1章
supervisor详解
supervisor配置文件:
Tomcat 实例
supervisor详解
原创
luweiv998
2018-06-01 11:28:54
©著作权
文章标签
supervisor
详解
文章分类
Linux
系统/运维
©著作权归作者所有:来自51CTO博客作者luweiv998的原创作品,请联系作者获取转载授权,否则将追究法律责任
supervisor详解
Supervisor是一个进程管理系统,允许其用户监视和控制类UNIX操作系统上的大量进程。
其通过fork/exec的方式将这些被管理的进程当作supervisor的子进程来启动,
我们只需要将被管理进程配置文件置于配置子模块中。此时被管理进程被视为supervisor的子进程,若该子进程异常终端,则父进程可以准确的获取子进程异常终端的信息。
supervisor配置文件:
; Sample supervisor config file.
[unix_http_server]
file=/var/run/supervisor/supervisor.sock ; (the path to the socket file)
;chmod=0700 ; sockef file mode (default 0700)
;chown=nobody:nogroup ; socket file uid:gid owner
;username=user ; (default is no username (open server))
;password=123 ; (default is no password (open server))
;[inet_http_server] ; inet (TCP) server disabled by default
;port=127.0.0.1:9001 ; (ip_address:port specifier, *:port for all iface)
;username=user ; (default is no username (open server))
;password=123 ; (default is no password (open server))
[supervisord]
logfile=/var/log/supervisor/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=/var/run/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)
;umask=022 ; (process file creation umask;default 022)
;user=chrism ; (default is current user, required if root)
;identifier=supervisor ; (supervisord identifier, default is 'supervisor')
;directory=/tmp ; (default is not to cd during start)
;nocleanup=true ; (don't clean up tempfiles at start;default false)
;childlogdir=/tmp ; ('AUTO' child log dir, default $TEMP)
;environment=KEY=value ; (key value pairs to add to environment)
;strip_ansi=false ; (strip ansi escape codes in logs; def. false)
; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/run/supervisor/supervisor.sock ; use a unix:// URL for a unix socket
;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
;username=chris ; should be same as http_username if set
;password=123 ; should be same as http_password if set
;prompt=mysupervisor ; cmd line prompt (default "supervisor")
;history_file=~/.sc_history ; use readline history if available
; The below sample program section shows all possible program subsection values,
; create one or more 'real' program: sections to be able to control them under
; supervisor.
;[program:theprogramname]
;command=/bin/cat ; the program (relative uses PATH, can take args)
;process_name=%(program_name)s ; process_name expr (default %(program_name)s)
;numprocs=1 ; number of processes copies to start (def 1)
;directory=/tmp ; directory to cwd to before exec (def no cwd)
;umask=022 ; umask for process (default None)
;priority=999 ; the relative start priority (default 999)
;autostart=true ; start at supervisord start (default: true)
;autorestart=true ; retstart at unexpected quit (default: true)
;startsecs=10 ; number of secs prog must stay running (def. 1)
;startretries=3 ; max # of serial start failures (default 3)
;exitcodes=0,2 ; 'expected' exit codes for process (default 0,2)
;stopsignal=QUIT ; signal used to kill process (default TERM)
;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
;user=chrism ; setuid to this UNIX account to run the program
;redirect_stderr=true ; redirect proc stderr to stdout (default false)
;stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
;stdout_logfile_backups=10 ; # of stdout logfile backups (default 10)
;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
;stdout_events_enabled=false ; emit events on stdout writes (default false)
;stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
;stderr_logfile_backups=10 ; # of stderr logfile backups (default 10)
;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
;stderr_events_enabled=false ; emit events on stderr writes (default false)
;environment=A=1,B=2 ; process environment additions (def no adds)
;serverurl=AUTO ; override serverurl computation (childutils)
; The below sample eventlistener section shows all possible
; eventlistener subsection values, create one or more 'real'
; eventlistener: sections to be able to handle event notifications
; sent by supervisor.
;[eventlistener:theeventlistenername]
;command=/bin/eventlistener ; the program (relative uses PATH, can take args)
;process_name=%(program_name)s ; process_name expr (default %(program_name)s)
;numprocs=1 ; number of processes copies to start (def 1)
;events=EVENT ; event notif. types to subscribe to (req'd)
;buffer_size=10 ; event buffer queue size (default 10)
;directory=/tmp ; directory to cwd to before exec (def no cwd)
;umask=022 ; umask for process (default None)
;priority=-1 ; the relative start priority (default -1)
;autostart=true ; start at supervisord start (default: true)
;autorestart=unexpected ; restart at unexpected quit (default: unexpected)
;startsecs=10 ; number of secs prog must stay running (def. 1)
;startretries=3 ; max # of serial start failures (default 3)
;exitcodes=0,2 ; 'expected' exit codes for process (default 0,2)
;stopsignal=QUIT ; signal used to kill process (default TERM)
;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
;user=chrism ; setuid to this UNIX account to run the program
;redirect_stderr=true ; redirect proc stderr to stdout (default false)
;stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO
;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
;stdout_logfile_backups=10 ; # of stdout logfile backups (default 10)
;stdout_events_enabled=false ; emit events on stdout writes (default false)
;stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO
;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
;stderr_logfile_backups ; # of stderr logfile backups (default 10)
;stderr_events_enabled=false ; emit events on stderr writes (default false)
;environment=A=1,B=2 ; process environment additions
;serverurl=AUTO ; override serverurl computation (childutils)
; The below sample group section shows all possible group values,
; create one or more 'real' group: sections to create "heterogeneous"
; process groups.
;[group:thegroupname]
;programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions
;priority=999 ; the relative start priority (default 999)
; The [include] section can just contain the "files" setting. This
; setting can list multiple files (separated by whitespace or
; newlines). It can also contain wildcards. The filenames are
; interpreted as relative to this file. Included files *cannot*
; include files themselves.
[include]
files = supervisord.d/*.conf
此文件配置分为一下几个部分:
[unix_http_server]: 这部分为以socket方式启动的supervisor的启动配置项
file: socket套接字的文件目录,默认为 /var/run/supervisor.sock
chmod:改变supervisor.sock的权限
username: 配置登录系统的的账号
password:登录密码
[inet_http_server]: 这部分为以bind端口的方式启动的supervisor的启动配置项
port: 以端口的方式启动,默认为 127.0.0.1:9001 (此配置一般不启用,socket方式更安全)
username: 配置登录系统的的账号
password:登录密码
[supervisord]: 这部分为supervisor的core部分,所有的特性都在此配置选项
logfile:日志文件的输出路径
logfile_maxbytes:输出日志的单个文件最大文件上限 默认为50M
logfile_backups:备份日志文件的个数 默认为10
loglevel:日志等级
pidfile:pid输出文件路径 默认为 /var/run/supervisord.pid 注意:不要改成temp目录下,会被操作系统误删除pid文件
nodaemon:前台运行,默认后台
minfds:文件描述符
minprocs:进程描述符
umask: 创建文件权限
user: 启动用户
identifier: 验证
directory: 启动目录
nocleanup: 不删除临时文件
childlogdir: 子日志输出目录
environment: 环境变量 以K、V的方式
strip_ansi: 在日志中剥离ANSI转义代码
[supervisorctl] : 这部分为supervisor的客户端配置,包含web,以及cli方式
serverurl:客户端有两种连接方式,socket套接字和http端口连接(界面)
username:界面账号
password:界面密码
prompt:命令行
history_file:使用readline的历史提示
[include]: 包含了所需被管理进程的配置选项
files:统一的子进程模块目录 默认 /etc/supervisor/conf.d/ 下
[program:x]:配置文件必须包括至少一个进程,x是进程名称
command:包含一个命令,当这个program启动时执行
directroy:执行子进程时supervisord暂时切换到该目录 (说实话,运行的时候没有切换。。。可能我没理解对)
user:程序运行用户名
autostart: 跟随supervisor启动
autorestart:自动重启
startretries: 尝试启动
environment: 可以针对单个程序设置环境变量,比如: JAVA
startsecs:进程从STARING状态转换到RUNNING状态program所需要保持运行的时间(不是delay时间,反正我试过,就是个显示状态)
redirect_stderr:如果是true,则进程的stderr输出被发送回其stdout文件描述符上的supervisord
stdout_logfile:将进程stdout输出到指定文件
stdout_logfile_maxbytes:stdout_logfile指定日志文件最大字节数,默认为50MB,可以加KB、MB或GB等单位
stdout_logfile_backups:要保存的stdout_logfile备份的数量
Tomcat 实例
[program:tomcat]
environment=JAVA_HOME="/usr/local/java"
command=/usr/local/tomcat/bin/catalina.sh run
user=root
autostart = true
startsecs = 5
autorestart = true
startretries = 3
打赏
收藏
评论
分享
举报
上一篇:ssh+tab 命令自动补全主机名
下一篇:OpenLDAP 服务端安装与配置以及原理
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
全部评论
()
最热
最新
相关文章
HDU 5059 Help him
题解:先判断第一个是否负号。如果是把第一个符号拿掉之后判断后面的长度是否#include char s[150],ss[150];int A,B;long long a,b;using namespace std;int main(){ while((gets(s)!=NULL)&&(~sca...
HDU
模拟
i++
#include
数据
UVaLive5059 Playing With Stones
数学问题 博弈论 SG函数
#include
sg函数
ios
#define
i++
HDU 5059 Help him(细节)
HDU 5059 Help him题目链接直接用字符串去比較就可以,先推断原数字正确不对,然后写一个推断函数,注意细节,然后注意判掉空串情况代码:#include #include const int N = 105;char n[N], a[N], b[N];bool judge(char *st...
i++
#include
字符串
编程题目
LA-5059(组合游戏)
题意: 有n堆石子,分别有a1,a2,...,an个,两个游戏者轮流操作,每次可以选一堆m拿走至少一个且不超过一半的石子,谁不能拿石子就算输; 思路: a1太大打印sg表找规律,然后就是异或和了; AC代码:
UVA
组合游戏
#include
#define
ios
supervisor系列:2、运行supervisor
supervisor系列:2、运行supervisor文章目录supervisor系列:2、运行supervisor1. 添加一个程序2. 运行supervisord2.1 su
supervisor
进程管理
重启
配置文件
命令行
Supervisor
Supervisor 是用Python开发的一套通用的进程管理程序,能将一个普通的
python
配置文件
子进程
supervisor出现Unlinking stale socket /tmp/supervisor、unix:/run/supervisor/supervisor.sock no such file
supervisor出现Unlinking stale socket /tmp/supervisor、unix:/run/supervisor/supervisor.sock no such file。
linux
centos
supervisor
unlinking
unix
一起去打CS(codevs 5059)
题目描述 Description 早就和lyk约好了去打cs,一直没找着时间,终于今天我家没人,他家也没人,总算可以出去了。但是偏偏天公不作美,某某人非要留那么多题要做。没办法只能尽快做完然后抓紧时间吧…… 为了尽量节省时间,我俩决定分开做所有题吧(嘿嘿,稍微耍一下滑~~)。但是有的题我比较擅长,而
i++
#include
数据
ios
01背包
【LA5059】Playing With Stones (SG函数)
题意:有n堆石子,分别有a[i]个。两个游戏者轮流操作,每次可以选一堆,拿走至少一个石子,但不能拿走超过一半的石子。 谁不能拿石子就算输,问先手胜负情况 n<=100,1<=a[i]<=2e18 思路:打表找SG函数的规律 当n为偶数时,SG(n)=n/2 当n为奇数时,SG(n)=SG(n/2)
#include
#define
打表
ios
sg函数
supervisor&supervisor-monitor部署
supervisor部署和supervisor-monitor的部署(2017年11月24日)参考文档:http://www.cenhq.com/2017/04/14/centos7-install-config-supervisor/https://segmentfault.com/a/1190000007367428supervisor部署CentOS7minimal安装,关闭selinux,
supervisor
supervisor-monitor
supervisor系列:1、了解并安装supervisor
supervisor系列:1、了解并安装supervisor文章目录supervisor系列:1、了解并安装supervisor1. 前言2. supervisor概
supervisor
进程管理
python
配置文件
子进程
supervisor使用
supervisor使用supervisor配置文件:/etc/supervisord.conf子进程配置文件路径:/etc/supervisord.d- supervisord运行 Supervisor 时会启...
unix
配置文件
redis
ide
sed
Docker Supervisor
使用 Supervisor 管理进程
Supervisor
duyuheng
安装supervisor
机器版本 centos 6.5 python 版本 2.6.6 在终端输入 easy_install supervisor 并回车,linux会自动联网并下载supervisor源码解压并安装 安装成功后显示finished,我们在终端上再次进行python环境,输入import superviso
配置文件
python
linux
supervisor详解
supervisor
supervisor
详解
supervisor安装
重要的事情认真做,普通的事情规范做!
supervisor
安装
supervisor升级
前言centos7.X系统yum安装的supervisor版本是3.X,版本较python工具安装的低yum安装supervisoryum-yinstallsupervisor如果之前已经使用yum安装过,先备份配置,卸载supervisor即可删除supervisoryum-yremovesupervisor升级supervisorSupervisor安装与配置安装Python包管理工具(eas
python
supervisor
systemctl
linux
centeros
supervisor简介
一什么是supervisor Superviosr是一个UNIX-like系统上的进程监控工具。 Supervisor是一个Python开发的client/server系统,可以管理和监控*nix上面的进程。不过同daemontools一样,它也不能监控daemon进程 官网:http://supe
子进程
配置文件
xml
mongodb
python
supervisor superlance
supervisor配置: [program:nps-mq-sessage] directory = /Library/work/workspace/avatar-dds-service command = php artisan consumer_nps_message autostart = t ...
perl
命令行
python
发邮件
封装
luweiv998
关注
私信
近期文章
1.MobTech秒验(一键登录)对比传统短信验证
2.Day03_01_Docker教程之Docker简介
3.中科驭数点亮首颗国产DPU芯片 业内生态伙伴热烈寄语
4.麒麟系统关于激活的命令
5.订单号的生成
文章目录
第1章
supervisor详解
supervisor配置文件:
Tomcat 实例
签到领勋章
返回顶部
举报文章
请选择举报类型
内容侵权
涉嫌营销
内容抄袭
违法信息
其他
具体原因
包含不真实信息
涉及个人隐私
原文链接(必填)
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M
取消
确认
已经收到您得举报信息,我们会尽快审核
打赏
收藏
评论
分享
51CTO首页
内容精选
博客
学堂
精培
企业培训
CTO训练营
开源基础软件社区
LeaTech全球CTO领导力峰会
移动端
公众号矩阵
博客
免费课程
课程排行
直播课
软考学堂
精品班
厂商认证
IT技术
2022年软考
PMP项目管理
在线学习
企业服务
CTO训练营
技术经理研习营
LeaTech峰会
文章
资源
问答
开源课堂
专栏
直播
51CTO博客
首页
关注
排行榜
订阅专栏
学堂
精培
开源社区
CTO训练营
51CTO
班级博客
登录注册
手机随时阅读
写文章
搜索历史
清空
热门搜索
查看【
】的结果
Copyright 2005-2022 51CTO.COM
版权所有 京ICP证060544号
关于我们
官方博客
意见反馈
了解我们
全部文章
在线客服
网站地图
热门标签
友情链接
开源基础软件社区
51CTO学堂
51CTO
汽车开发者社区