Supervisor 使用

supervisor 是Python开发的一套进程管理工具,被管理的进程是作为supervisor的子进程来启动,可以实现进程的监听,重启等功能。
 
supervisor 安装
1:easy_install 安装:
easy_install supervisor
 
2:pip 安装:
pip install supervisor
 
3:Debian / Ubuntu可以直接通过apt安装:
apt-get install supervisor
 
生成supervisor 的配置文件
echo_supervisord_conf >  可以重定向到指定的文件目录
 
修改配置文件
修改unix:///tmp/supervisor.sock   不要指定在tmp目录下,以免被删除
 
配置文件介绍
; supervisor config file
 
[unix_http_server]
file=/var/run/supervisor.sock   ; (the path to the socket file)
chmod=0700                       ; sockef file mode (default 0700)
 
[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor            ; ('AUTO' child log dir, default $TEMP)
 
; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
 
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL  for a unix socket
 
; The [include] section can just contain the "files" setting.  This
; setting can list multiple files (separated by whitespace or
; newlines).  It can also contain wildcards.  The filenames are
; interpreted as relative to this file.  Included files *cannot*
; include files themselves.
 

[inet_http_server]   #设置端口 登录账户信息

port=ip:9001
username=tigerzhou
password=123456

 
[include]
files = /etc/supervisor/conf.d/*.conf   (需要管理的进程的配置文件默认.ini结尾,可以自己指定)
 
被管理的进程配置文件
[program:flower]
command=celery -A excutor.ModelExcutor flower --broker='sentinel://ip:26380;sentinel://ip:26381;sentinel://ip:26382'
directory=/home/supdev/pro/mypro
user=supdev
numprocs=1
stdout_logfile=/home/supdev/pro/celery-worker.log
stdout_logfile_maxbytes=200MB
stdout_logfile_backups=2
stderr_logfile=/home/supdev/pro/celery-worker.log
stderr_logfile_maxbytes=200MB
stderr_logfile_backups=2
autostart=true
autorestart=true
startsecs=10
stopwaitsecs = 600
stopasgroup=true
priority=1000
 
启动supervisor  supervisorctl 命令可以不用指定配置文件
supervisord -c supervisor.conf 通过配置文件启动supervisor
supervisorctl -c supervisor.conf status 查看状态
supervisorctl -c supervisor.conf reload 重新载入配置文件
supervisorctl -c supervisor.conf start [all]|[x] 启动所有/指定的程序进程
supervisorctl -c supervisor.conf stop [all]|[x] 关闭所有/指定的程序进程
posted @ 2019-07-23 15:45  君子不徒语  阅读(264)  评论(0编辑  收藏  举报