博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
supervisor使用
阅读量:5953 次
发布时间:2019-06-19

本文共 2392 字,大约阅读时间需要 7 分钟。

参考文档

   官网: https://pypi.python.org/pypi/setuptools#unix-wget

   案例: http://jingyan.baidu.com/album/375c8e198d1b1425f2a2290c.html?picindex=1

         http://zhanboom.blog.51cto.com/3483769/900634

安装部署

   yum install python-setuptools

   wget https://bootstrap.pypa.io/ez_setup.py -O - | python

   cd /usr/local/python2/bin/

   cp easy_install echo_supervisord_conf supervisor* /usr/bin

   easy_install supervisor

   echo_supervisord_conf > /etc/supervisord.conf 


#2编辑

  vi /etc/supervisord.conf(注意在最底部)

   [program:http-server]

   command=/bin/bash /server/script/test.sh  ###表示运行的命令,填入完整的路径即可 或者 command=memcached -m 2000 -u nobody -l 0.0.0.0 -c 10240 -p 11211

   numprocs=1                                ###启动几个进程

   user=root                     ###程序运行的用户

   autostart=true                            ###表示是否跟随supervisor一起启动

   autorestart=true                          ###如果该程序挂了,是否重新启动

   startretries=10                           ###启动失败时的最多重试次数

   stdout_logfile=/var/log/stdout.log        ###终端标准输出重定向文件 

   stderr_logfile=/var/log/stderr.log        ###终端错误输出重定向文件。

   stdout_logfile_maxbytes=1MB

   stdout_logfile_backups=10

   stdout_capture_maxbytes=1MB

   stderr_logfile_maxbytes=1MB

   stderr_logfile_backups=10

   stderr_capture_maxbytes=1MB


#3重启

   /usr/bin/supervisord -c /etc/supervisord.conf

   如果提示/tmp/supervisord.sock 报错,删除/tmp/supervisord.sock重新启动supervisor即可


   supervisord (以daemon方式启动)

   或 

   supervisord -c /etc/supervisord.conf (非daemon)


#4supervisor 配置文件注释

#5测试


 vi /etc/supervisord.conf (注意在最底部)

   [program:http-server]

   command=/bin/bash /server/script/test.sh    

   directory=/server/script      

   autostart=true                    

   autorestart=true                  

   startsecs=10

   stdout_logfile=/var/log/http-server.log

   stderr_logfile=/var/log/http-server-err.log


vi /server/script/test.sh   

 #!/bin/bash

 while true 

 do

  `echo $(date +%F) >> /tmp/test.log`

  sleep 2

 done

#杀

pkill supervisord

#启起

/usr/bin/supervisord -c /etc/supervisord.conf

#查状态

supervisorctl status


############ 相关命令详情

  supervisord -n  查看监控进程的输出

  supervisorctl stop programxxx,   停止某一个进程(programxxx),programxxx为[program:chatdemon]里配置的值

  supervisorctl start programxxx,  启动某个进程

  supervisorctl restart programxxx,重启某个进程

  supervisorctl stop all,          停止全部进程,注:start、restart、stop都不会载入最新的配置文件。

  supervisorctl reload,            载入最新的配置文件,并按新的配置启动、管理所有进程。

  supervisorctl reread,            当一个服务由自动启动修改为手动启动时执行一下就ok

注意:

  不带参数运行supervisord是以daemon方式运行

  当supervisord以非daemon方式运行时,杀掉supervisord后,被监控的进程也退出了。

  而以daemon方式运行,杀掉supervisord对被监控进程无影响


弊端:

  配置文件改错 所有进程将停止

  配置某个进程有问题 该进程不能正常运行


 正常判断:是否存在且父进程是否supervisord进程

 supervisorctl reload

 ps -ef|egrep 'supervisord|*.sh'


测试 当负载很高 是否重启

本文转自cloves 51CTO博客,原文链接:http://blog.51cto.com/yeqing/1647344

转载地址:http://imoxx.baihongyu.com/

你可能感兴趣的文章
洛谷 P2486 BZOJ 2243 [SDOI2011]染色
查看>>
linux 笔记本的温度提示
查看>>
数值积分中的辛普森方法及其误差估计
查看>>
Web service (一) 原理和项目开发实战
查看>>
跑带宽度多少合适_跑步机选购跑带要多宽,你的身体早就告诉你了
查看>>
广平县北方计算机第一届PS设计大赛
查看>>
深入理解Java的接口和抽象类
查看>>
java与xml
查看>>
Javascript异步数据的同步处理方法
查看>>
iis6 zencart1.39 伪静态规则
查看>>
SQL Server代理(3/12):代理警报和操作员
查看>>
Linux备份ifcfg-eth0文件导致的网络故障问题
查看>>
2018年尾总结——稳中成长
查看>>
JFreeChart开发_用JFreeChart增强JSP报表的用户体验
查看>>
度量时间差
查看>>
通过jsp请求Servlet来操作HBASE
查看>>
Shell编程基础
查看>>
Shell之Sed常用用法
查看>>
3.1
查看>>
校验表单如何摆脱 if else ?
查看>>