centos下supervisord的安装及使用
supervisor的安装
yum install epel-release
yum install -y supervisor
生成配置文件
echo_supervisord_conf > /etc/supervisord.conf
修改配置文件
vi /etc/supervisord.conf
对配置文件进行修改,如我们的项目文件的路径为:/var/www/manage.py,在supervisord.conf添加如下配置:
[program:manage]
command=python manage.py
directory=/var/www
stdout_logfile=/var/log/supervisor/share.log ;运行日志
stderr_logfile=/var/log/supervisor/share.log ;错误日志
priority=999 ;优先级,级别越高,数值越小
autostart=true ;自启动设置
autorestart=true ;自动重新启动设置(在错误时重启)
stopasgroup=false ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=false ;默认为false,向进程组发送kill信号,包括子进程
stdout_logfile_maxbytes=1MB ;最大的日志文件大小,默认50M
stdout_logfile_backups=10 ;最多 备份数量,默认10
supervisor的常用命令
1、 启动supervisor
supervisord
2、进入相关的命令操作
supervisorctl
restart manage #重启manage进程
start manage #开启manage进程
stop manage #停止manage进程
reload #重新加载supervisor(当修改supervisord.conf使用)
update #更新supervisor(当修改supervisord.conf使用)
centos6.6设置supervisor开机自启
#!/bin/bash
# source function library
. /etc/rc.d/init.d/functions
RETVAL=0
start() {
echo -n $"Starting supervisord: "
daemon "supervisord -c /etc/supervisord.conf "
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/supervisord
}
stop() {
echo -n $"Stopping supervisord: "
killproc supervisord
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/supervisord
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|force-reload|reload)
restart
;;
condrestart)
[ -f /var/lock/subsys/supervisord ] && restart
;;
status)
status supervisord
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
exit 1
esac
exit $RETVAL
将上面的脚本保存到/etc/rc.d/init.d/supervisor文件中,修改文件权限,并设置开机启动:
chmod 755 /etc/rc.d/init.d/supervisor
chkconfig supervisor on
完成supervisor开机自启的设置,需要注意的是,上面的脚本涉及了一些路径,需要把相关的路径改成自己文件的路径。