使用supervisor管理python web服务

概述

supervisor就是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。
编写的Python web 程序在centos6.5上可以通过python3 app.py执行,但是退出ssh登陆之后,进程也随之结束。通过安装并配置supervisor就可以把命令行程序变成“deamon”随系统自动运行。
supervisor VS. rc.d scripts
rc.d scripts实现了基本的进程初始化、重启、管理特性,但rc.d scripts不好维护和管理。supervisor可以实现rc.d scripts同样的功能,并且能在进程崩溃时候自动重启该进程。
安装supervisor
在centos 6.5 环境下使用下面命令安装supervisor,并且使用yum info 命令看到安装的supervisor版本为2.1。
#安装 supervisor
yum install supervisor
#查看安装信息
yum info  supervisor

Loaded plugins: security
Installed Packages
Name        : supervisor
Arch        : noarch
Version     : 2.1
Release     : 9.el6
Size        : 1.1 M
Repo        : installed
From repo   : epel
Summary     : A System for Allowing the Control of Process State on UNIX
URL         : http://www.plope.com/software/supervisor2/
License     : ZPLv2.1 and BSD and MIT
Description : The supervisor is a client/server system that allows its users to control a
            : number of processes on UNIX-like operating systems.
配置supervisor
在本环境下supervisor的配置文件为/etc/supervisord.conf,其它环境可能不一样。直接通过vim编辑该文件,并在文件末尾添加上下面配置即可:
[program:awesome]
command     = /srv/awesome/www/app.py
directory   = /srv/awesome/www
user        = root
startsecs   = 3
redirect_stderr         = true
stdout_logfile_maxbytes = 50MB
stdout_logfile_backups  = 10
stdout_logfile          = /srv/awesome/log/app.log
启动supervisor

在使用输入supervisorctl reload 或者 supervisorctl 前,必须先用service supervisord start 命令启动服务,否则会提示下面错误:

[root@localhost etc]# supervisorctl reload
error: <class 'socket.error'>, [Errno 2] No such file or directory: file: <string> line: 1
[root@localhsot etc]# supervisorctl
error: <class 'socket.error'>, [Errno 2] No such file or directory: file: <string> line: 1
[root@localhsot etc]# service supervisord start
Starting supervisord:                                      [  OK  ]
[root@localhost etc]# supervisorctl
awesome        RUNNING    pid 28877, uptime 0:00:38

然后退出ssh登陆,app.py 可以后台运行啦!
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值