supervisor

1.安装

yum  -y install  supervisor

2.生成配置文件,默认不存在路径自己选择

echo_supervisord_conf > /etc/supervisord.conf

3.配置web管理界面  vi

vi /etc/supervisord.conf   #默认前面是;注释打开即可

[inet_http_server]         ; inet (TCP) server disabled by default
port=192.168.56.15: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))

4.启动supervisor

systemctl  start supervisord

5.输入用户名和密码进入管理web界面 没有程序管理

6.supervisor 基本配置

[supervisord]
logfile=/tmp/supervisord.log ;日志文件,默认是 $CWD/supervisord.log
logfile_maxbytes=50MB        ;日志文件大小,超出会rotate,默认 50MB,如果设成0,表示不限制大小
logfile_backups=10           ;日志文件保留备份数量默认10,设为0表示不备份
loglevel=info                ;日志级别,默认info,其它: debug,warn,trace
pidfile=/tmp/supervisord.pid ;pid 文件
nodaemon=false               ;是否在前台启动,默认是false,即以 daemon 的方式启动
minfds=1024                  ;可以打开的文件描述符的最小值,默认 1024
minprocs=200                 ;可以打开的进程数的最小值,默认 200

7.supervisor添加程序的参数介绍

[program:xx]
command=/opt/apache-tomcat/bin/catalina.sh run  ; 程序启动命令
autostart=true       ; 在supervisord启动的时候也自动启动
startsecs=10         ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true     ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
startretries=3       ; 启动失败自动重试次数,默认是3
user=tomcat          ; 用哪个用户启动进程,默认是root
priority=999         ; 进程启动优先级,默认999,值小的优先启动
redirect_stderr=true ; 把stderr重定向到stdout,默认false
stdout_logfile_maxbytes=20MB  ; stdout 日志文件大小,默认50MB
stdout_logfile_backups = 20   ; stdout 日志文件备份数,默认是10
; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
stdout_logfile=/opt/apache-tomcat/logs/catalina.out
stopasgroup=false     ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=false     ;默认为false,向进程组发送kill信号,包括子进程进程数的最小值,默认 200

8.添加nginx 服务监控

[program:nginx]
command=nginx
process_name=%(program_name)s
autostart=true                
autorestart=true             
startretries=10              
exitcodes=0                 
stopsignal=KILL         
stopwaitsecs=10              
redirect_stderr=true

9.1启动supervisor,配置nginx
要在配置文件中加daemon  off;

[[email protected] run]# ps -ef|grep  nginx 
root       7262   7258  2 04:46 ?        00:00:00 nginx: master process nginx
nginx      7263   7262  0 04:46 ?        00:00:00 nginx: worker process
nginx      7264   7262  0 04:46 ?        00:00:00 nginx: worker process
root       7277   2404  0 04:46 pts/1    00:00:00 grep --color=auto nginx
[[email protected] run]# ps -ef|grep  nginx |awk  ‘{print $2}‘
7262
7263
7264
7312
[[email protected] run]# kill -9  `ps -ef|grep  nginx |awk  ‘{print $2}‘`
-bash: kill: (7334) - No such process
[[email protected] run]# ps -ef|grep  nginx 
root       7339   7258  3 04:46 ?        00:00:00 nginx: master process nginx
nginx      7340   7339  0 04:46 ?        00:00:00 nginx: worker process
nginx      7341   7339  0 04:46 ?        00:00:00 nginx: worker process
root       7349   2404  0 04:46 pts/1    00:00:00 grep --color=auto nginx
[[email protected] run]# ps -ef|grep  nginx 
root       7339   7258  2 04:46 ?        00:00:00 nginx: master process nginx
nginx      7340   7339  0 04:46 ?        00:00:00 nginx: worker process
nginx      7341   7339  0 04:46 ?        00:00:00 nginx: worker process
root       7354   2404  0 04:46 pts/1    00:00:00 grep --color=auto nginx
[[email protected] run]#

10.查看首台

时间: 2024-10-31 19:57:24

supervisor的相关文章

Docker Supervisor

Docker 容器在启动的时候开启单个进程,比如,一个 ssh 或者 apache 的 daemon 服务.但我们经常需要在一个机器上开启多个服务,这可以有很多方法,最简单的就是把多个启动命令放到一个启动脚本里面,启动的时候直接启动这个脚本. 例如:docker  run  –d  镜像  /run.sh 另外就是安装进程管理工具. 本次将使用进程管理工具 supervisor 来管理容器中的多个进程.使用 Supervisor 可以更好的控制.管理.重启我们希望运行的进程. Superviso

ELK之ES2.4.1双实例平滑升级至5.2.1踩坑并supervisor管理记

ES老集群用的2.4.1版本,跑的比较好就一直没动,最近看资料ES5.X已经稳定,并且性能有较大提升,心里就发痒了,但由于业务要保持高可以用的属性,就得想一个平滑升级的方案,最后想到了多实例过度的办法,5.X版本网上介绍配置变化较大,也做好了踩坑准备,确定好要升级后,立刻动手. 一.对应升级改造方案 使用端口9220和9330 安装并配置好新的ES5.2.1实例-->关掉logstash并将ES2.4.1实例堆栈调小重启(kafka保留3个小时日志所以不会丢失)-->启动ES5.2.1并将lo

使用Supervisor管理进程二

supervisor安装完成后会生成三个执行程序:supervisortd.supervisorctl.echo_supervisord_conf,分别是supervisor的守护进程服务(用于接收进程管理命令).客户端(用于和守护进程通信,发送管理进程的指令).生成初始配置文件程序. 3.配置 运行supervisord服务的时候,需要指定supervisor配置文件,如果没有显示指定,默认在以下目录查找: $CWD/supervisord.conf$CWD/etc/supervisord.c

supervisor——进程管理工具

Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(不仅仅是 Python 进程).除了对单个进程的控制,还可以同时启动.关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动. 1.安装 Supervisor 可以运行在 Linux.Mac OS X 上.如前所述,supervisor 是 Python 编

Supervisor 配置过程

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/s

supervisor安装和配置

直接命令 easy_install supervisor 如果报错先安装 yum install python-setuptools,再上面一条命令: 安装成功后显示finished,我们再次进行python环境,输入import supervisor ,如果没提示错误则表示安装成功. 接下来是对supervisor配置,首先我们要生成配置文件,在shell终端输入echo_supervisord_conf > /etc/supervisord.conf 接着编辑配置文件 vi /etc/sup

supervisor:进程管理工具

一,安装(任何一种方式) apt-get install supervisor easy_install supervisor pip install supervisor 二,配置 配置supervisor.conf 添加web控制界面 2.    启动进程配置说明 ; 管理单个进程的配置,可创建多个,下面是所有可能的配置选项 ;[program:theprogramname] ;command=/bin/cat ; 启动进程的命令 使用相对路径,可以加参数 ;process_name=%(p

如何用supervisor守护php-fpm主进程以实现php-fpm的自动重启

最近有同事有个针对php-fpm进程的监护需求,也即:如果php-fpm的master进程意外退出(可能是crash,也可能是被误kill),那么希望master进程能被自动拉起,以免中断服务. 我们知道,supervisor是一个非常强大的进程监控(monitor & control)工具,它理论上可以实现php-fpm master进程的守护需求.因此,我帮同事试验了如何用supervisor完成他的需求,结果表明,supervisor确实是神器,只需一个合理的配置文件,它就能解决问题. 下

sudo /edx/app/supervisor/venvs/supervisor/bin/sup

failed: [localhost] => {"changed": true, "cmd": "/edx/app/supervisor/venvs/supervisor/bin/supervisorctl -c /edx/app/supervisor/supervisord.conf update ", "delta": "0:00:00.087891", "end": &quo

nodejs使用supervisor插件调试效率

supervisor的安装也很简单: 直接用npm安装既可,键入命令: npm -g install supervisor 这里注意一点的就是,supervisor必须安装到全局,如果你不安装到全局,错误命令会提示你安装到全局. 如果不想安装到默认的全局,也可以自己修改全局路径到当前路径 npm config set prefix "路径" 安装完以后就可以用supervisor 来启动服务了. supervisor app.js 启动完全是这个样子 修改一下,然后刷新 以后都会直接访