本文共 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/