Supervisor使用方法介绍
-
简介
Supervisor是Python开发的一款进程管理工具,主要用来管理一些非daemon程序,将其转换为daemon程序启动。
-
安装
yum install -y supervisor
-
配置
1.在
/etc/supervisord.d
目录下创建conf/
log/
文件,分别用于存储管理进程的配置和日志文件cd /etc/supervisord.d mkdir conf # 配置文件 mkdir log # 日志文件
2.修改
supervisord.conf
,主要介绍inet_http_server
和include
[inet_http_server] ; WEB控制台配置 port=127.0.0.1:9001 ; 控制台访问的URL ; username=root ; 账号,不设置账号密码进入控制台不需要登录 ; password=123 ; 密码 [include] ; 包含配置文件设置 files = supervisord.d/conf/*.conf
3.在
/etc/supervisord.d/conf/
目录下创建django.conf
文件(用于测试Supervisor对django进程的管理)[program:django] directory = /var/www/html/django_project ; Django项目所在目录 command = /pyenv/python36/bin/python manage.py runserver 0.0.0.0:8888 ; Django启动命令,与命令行启动的命令是一样,0.0.0.0表示本机IP autostart = true ; 在supervisord启动的时候也自动启动 ; startsecs = 5 ; 启动5秒后没有异常退出,就当作已经正常启动了 autorestart = true ; 程序异常退出后自动重启 ; startretries = 3 ; 启动失败自动重试次数,默认是3次 user = root ; 用root用户启动,可以更改 redirect_stderr = true ; 把stderr重定向到stdout,默认false ; stdout_logfile_maxbytes = 20MB ; stdout日志文件大小,默认50MB ; stdout_logfile_backups = 20 ; stdout日志文件备份数 ; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件) stdout_logfile = /etc/supervisord.d/log/django.log ; 日志存放目录 ; 可以通过environment来添加需要的环境变量,一种常见的用法是修改PYTHONPATH ; environment=PYTHONPATH=$PYTHONPATH:/path/to/somewhere
-
启动
supervisord -c /etc/supervisord.conf # 启动supervisord服务 ps -ef | grep 8888 # 查看进程已经启动
通过访问http://127.0.0.1:9001进入WEB控制台,管理进程。
-
常用命令
supervisord -c /etc/supervisord.conf # 启动supervisord服务 supervisorctl start program_name # 启动进程 supervisorctl start all # 启动所有进程 supervisorctl stop program_name # 停止进程 supervisorctl stop all # 停止所有进程 supervisorctl restart program_name # 重启进程 supervisorctl update # 更新配置文件有改动的进程 supervisorctl reload # 重新加载所有进程