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開機自啓的設置,需要注意的是,上面的腳本涉及了一些路徑,需要把相關的路徑改成自己文件的路徑。