supervisor 笔记

21 篇文章 0 订阅
8 篇文章 0 订阅

supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。

安装supervisor

apt-get install supervisor

配置

生成配置文件

echo_supervisord_conf > /etc/supervisord.conf

添加自己的项目

用一个my_tornado项目 测试

vim /var/www/my_tornado/app.py
import tornado.httpserver
import tornado.ioloop
import tornado.web
import tornado.options
from tornado.options import define, options

define("port", default=8000, help="run on the given port", type=int)

class IndexHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello IndexHandler")

settings = {  
    "debug": True,  
}

application = tornado.web.Application([  
    (r"/", IndexHandler),
], **settings)

if __name__ == "__main__":
    http_server = tornado.httpserver.HTTPServer(application)  
    tornado.options.parse_command_line()  
    http_server.listen(options.port)
    tornado.ioloop.IOLoop.instance().start()
vim /etc/supervisor/supervisord.conf
.......
#添加一个项目
[group:tornados]
programs=my_tornados

[program:my_tornados]
numprocs=8
numprocs_start=1
command=/home/hu/env/bin/python2.7 app.py --port=81%(process_num)02d
process_name=%(program_name)s%(process_num)d
directory=/var/www/my_tornado/
autorestart=true
redirect_stderr=true
stdout_logfile=/tmp/my_tornados.log
stdout_logfile_maxbytes=500MB
stdout_logfile_backups=50
stderr_logfile=/tmp/my_tornados.log
autostart=true
loglevel=info
user=www-data

numprocs=8 每个tornado一个进程,端口从8101到8109
autorestart=true 自动启动
command 执行的命令

加载配置文件

supervisorctl reload

hu@ubuntu:/tmp/page/1460476800$ ps -aux|grep python
lp        3450  0.0  0.2 136988 17140 ?        D     412   0:00 /usr/bin/python /usr/lib/cups/backend/hpfax
root     43021  0.5  0.1  65888 15688 ?        Ss   00:33   0:10 /usr/bin/python /usr/local/bin/supervisord
www-data 44217  0.2  0.2  62672 16620 ?        S    00:58   0:01 /home/hu/env/bin/python2.7 app.py --port=8108
www-data 44218  0.2  0.1  62416 16108 ?        S    00:58   0:01 /home/hu/env/bin/python2.7 app.py --port=8105
www-data 44219  0.2  0.1  62416 16180 ?        S    00:58   0:01 /home/hu/env/bin/python2.7 app.py --port=8104
www-data 44220  0.2  0.1  62416 16156 ?        S    00:58   0:01 /home/hu/env/bin/python2.7 app.py --port=8107
www-data 44221  0.2  0.1  62416 16164 ?        S    00:58   0:01 /home/hu/env/bin/python2.7 app.py --port=8106
www-data 44222  0.2  0.1  62416 16024 ?        S    00:58   0:01 /home/hu/env/bin/python2.7 app.py --port=8101
www-data 44223  0.2  0.1  62416 16016 ?        S    00:58   0:01 /home/hu/env/bin/python2.7 app.py --port=8103
www-data 44224  0.2  0.1  62416 16112 ?        S    00:58   0:01 /home/hu/env/bin/python2.7 app.py --port=8102
hu       44469  0.0  0.0  15980  2096 pts/6    S+   01:05   0:00 grep --color=auto python

root@ubuntu:/home/hu# curl http://localhost:8101
Hello IndexHandler
root@ubuntu:/home/hu# 
#查看状态
supervisorctl status
#停止服务
supervisorctl stop tornados:
#启动服务
supervisorctl start tornados:
#其他的命令
supervisorctl help
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值