supervisor 管理uwsgi 进程

Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动 重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要 管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警

安装:

Supervisor是python2写就的一款强大的运维工具(其实现在已经支持Python3了 https://github.com/Supervisor/supervisor
那么怎么利用Supervisor监控python3程序呢

通过指令:pip3 install git+https://github.com/Supervisor/supervisor

配置文件:

# supervisor名字
[program: your_supervisor_name]

#supervisor执行命令
command = uwsgi --init your_uwsgi.ini

#项目目录
derectory = ......

#开始的时候等待多少秒
startsecs = 0

#停止时等待多少秒
stopawitsecs = 0

#自动开始
autorestart = true

#程序挂了是否重启
autorestart = true

#输出的log文件
stdout_logfile = .../log/supervisor.log

#输出的错误文件
stderr_logfile = .../log/supervisor.err

#把 stderr 重定向到 stdout,默认 false
redirect_stderr = true

#stdout 日志文件大小,默认 50MB
stdout_logfile_maxbytes = 20M

[supervisor]
# log 级别
loglevel = info

启动指令:

supervisord -c mycms_supervisor.conf


安装supervisor时,默认安装supervisord 和 supervisorctl

supervisorctl 相当于一个客户端,去管理supervisord 的进程
***

配置:

#使用supervisorctl配置

[inet_http_server]
#supervisor服务器
port = :9001
username = admin
password = 123

[supervisorctl]
#使用supervisorctl的登录地址和端口号
serverurl = http://127.0.0.1:9001

#登录supervisorctl的用户名和密码
username = admin
password = 123

#不定义命名空间
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

操作指令
supervisorctl 全局进入

进入单个 进程 supervisorctl -c supervisor.conf

status #查看状态
start programe_name #启动程序
restart programe_name #重启程序
stop programe_name #关闭程序
reload #重新加载配置文件
quit #退出控制台

supervisor 官网

原文地址:https://www.cnblogs.com/donghaoblogs/p/10518326.html

时间: 2024-11-09 09:14:21

supervisor 管理uwsgi 进程的相关文章

celery和supervisor配合使用,实现supervisor管理celery进程

在这里我选择redis作为celery异步任务的中间人,系统选择CentOS6.5 64位.redis.celery和supervisor的安装参见官方文档. 安装完毕后: 1, 创建celery的实例/home/user_00/learn/tasks.py文件 tasks.py: # -*-coding:utf-8-*- from celery import Celery, platforms app = Celery('tasks', backend='redis://localhost:6

使用Supervisor管理Celery进程。

讲过一篇celery的,但是celery启动后并不是daemon的,在生产环境中这肯定是不可以的,那怎么办呢? 这就需要使用supervisor进行进程管理了,下面详细介绍. 一. supervisor是干什么的. supervisor是有Python语言编写的,基于linux操作系统的一款服务器管理工具,用以监控服务器进程的运行. supervisor要求管理的程序是非daemon程序,supervisord会帮你把他转换成daemon程序. 因此如果使用supervisor来管理nginx进

【云计算】使用supervisor管理Docker多进程-ntpd+uwsgi+nginx示例最佳实践

supervisor安装启动: apt-get install supervisor -y # start supervisord nodaemon /usr/bin/supervisord --nodaemon nginx示例: [program:nginx] command = /usr/sbin/nginx -g 'daemon off;' process_name = %(program_name)s stopsignal = QUIT autostart = true # starts

使用Supervisor管理进程二

supervisor安装完成后会生成三个执行程序:supervisortd.supervisorctl.echo_supervisord_conf,分别是supervisor的守护进程服务(用于接收进程管理命令).客户端(用于和守护进程通信,发送管理进程的指令).生成初始配置文件程序. 3.配置 运行supervisord服务的时候,需要指定supervisor配置文件,如果没有显示指定,默认在以下目录查找: $CWD/supervisord.conf$CWD/etc/supervisord.c

使用supervisor管理进程

Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(不仅仅是 Python 进程).除了对单个进程的控制,还可以同时启动.关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动. 安装 Supervisor 可以运行在 Linux.Mac OS X 上.如前所述,supervisor 是 Python 编写的

docker技术剖析--docker supervisor管理进程

http://hongge.blog.51cto.com/ 使用 Supervisor 来管理进程 Docker 容器在启动的时候开启单个进程,比如,一个 ssh 或者 apache 的 daemon 服务.但我们经常需要在一个机器上开启多个服务,这可以有很多方法,最简单的就是把多个启动命令放到一个启动脚本里面,启动的时候直接启动这个脚本. 例如:docker run –d 镜像 /run.sh 另外就是安装进程管理工具. 本节将使用进程管理工具 supervisor 来管理容器中的多个进程.使

docker之使用supervisor管理多个进程

docker题外话: centos7安装supervisor: 源码编译安装: 下载源码文件:supervisor-3.3.1.tar.gz 下载地址:https://pypi.python.org/pypi/supervisor 安装: [[email protected] src]# tar -zxf supervisor-3.3.1.tar.gz [[email protected] src]# cd supervisor-3.3.1/ [[email protected] supervi

supervisor管理后台进程

在linux中supervisor是用来管理后台进程的,是一个用python写的进程管理工具,可以让宕机的进程重启.这里我们大概讲一下用他来管理uWSGI. 一.安装supervisor 1.python2下的安装 supervisor不支持python3,所以你安装可以使用自带的python2安装,但是自带的python2没有安装pip (1)要安装pip,首先要安装setuptools wget https://pypi.python.org/packages/ff/d4/209f4939c

使用supervisord 管理ELK进程

看教程安装ELK时,发现了supervisord这个简单好用的进程管理工具,他支持web和文本两种方式,下面我们就来说一说具体的使用.更加详细的配置文件说明大家可以自行百度. #安装 # yum -y install python-setuptools  #安装easy_install 这个命令的软件包 # easy_install supervisor           #安装supervisor #生成配置文件 # echo_supervisord_conf > /etc/supervis