您的位置:首页 > 其它

如何管理你的常驻job,自动启动?挂掉重启?用supervisod管理你的进程吧

2012-12-13 15:59 323 查看
        我们可能有一台服务器,上边跑了许多常驻的job,就是一直在跑的程序,假设这台电脑突然停电了,你要一个一个起这些进程,假设某些进程意外挂掉了,你只能等到客户来投诉了才知道,噢。。我这个进程挂掉了,想找个解决这个问题?

       最近无意间用上了这个冬冬,我在ubuntu下,easy_install 装好,具体见http://supervisord.org/installing.html

然后需要生成一个配置文件

echo_supervisord_conf > /etc/supervisord.conf

这个需要root权限,但是我用sudo 执行,却提示权限不够,所以我把配置文件放在另外一个目录了
不过启动的时候需要指定一下路径
supervisord -c /home/xxx/supervisord.conf

现在来编辑supervisord.conf
关键几个点,一个是开启一个web管理页面,只要把
[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 
这几句前边分号去掉,注意port这个key,如果你想让外部的机器也可以访问,需要将127.0.0.1改成0.0.0.0端口随便写个,当然绑定这个端口的话,你需要用root权限启动
sudo supervisord -c /home/xxx/supervisord.conf
下边就是那个
;[program:theprogramname]

以及一系列的key值,这个是关键
每项具体的解释可以参见官方的文档http://supervisord.org
我们常用只需要这么几个
[program:test]

command=python /home/xxx/test.py

autostart=true

autorestart=true

startretries=5

相信你能看的懂

ok把这个复制进去,就相当于会启动一个 python /home/xxx/test.py
保存好了,你要运行
supervisorctl -c /home/xxx/supervisord.conf

然后输入 update
上边的python程序就跑起来了

访问localhost:9001发现有个叫test的是个绿色的running状态
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Ubuntu 服务器