关于supervisord配置文件的使用

参考文献Supervisor使用详解

How to keep Celery running with supervisor

Installation

First, you need to install supervisor in your virtualenv and generate a configuration file.

I store a supervisord.conf config file at the root of each project, and also, be careful to use the absolute path to the Python interpreter of the virtualenv.

$ pip install supervisor
$ cd /path/to/your/project
$ echo_supervisord_conf > supervisord.conf

Next, just add this section after the [supervisord] section:

[program:celeryd]
command=/home/thomas/virtualenvs/yourvenv/bin/celery -A=myapp.main worker -l info 
stdout_logfile=/path/to/your/logs/celeryd.log
stderr_logfile=/path/to/your/logs/celeryd.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs=600

It's a simplified version of the Celery supervisor example configuration file, adapted to work with virtualenvs.

Usage

Just run supervisord in your project directory.

$ supervisord

Then, you can use the supervisorctl command to enter the interactive shell. Type help to get started. You can also execute supervisor command directly:

$ supervisorctl tail celeryd
$ supervisorctl restart celeryd
常用配置
supervisorctl status : 查看所管理的服务状态; 
supervisorctl start <program_name>:启动一个服务; 
supervisorctl restart <program_name>:重启一个服务(注意:重启服务不会重新加载配置文件); 
supervisorctl stop <program_name>:关闭一个服务; 
supervisorctl update:重新加载配置文件,并重启配置有变动的服务; 
supervisorctl reread:重新加载配置文件,但不会重启配置有变动的服务; 
supervisorctl reload:重启 Supervisor 服务端; 
supervisorctl clear <program_name>:清理一个服务的 stdout log;
修改配置以后这样重新启动

首先进入 supervisor 控制台:

supervisorctl

然后重新读取配置:

reread

更新配置:

update

开始所有配置:

start all

查看所有状态:

status

配置文件的内容,可以这样写:

[include]
files = supervisord.d/*.ini

然后在supervisord.conf相同路径下的supervisord.d文件夹下,创建你需要的.ini配置文件
例如
test 09:59:38 ✿゚ root@supervisord.d $ls
a.ini b.ini c.ini d.ini
e.ini f.ini g.ini
内容和上面的差不多:

[program:name]
command=/root/.pyenv/versions/3.7.3/bin/python /root/bin/test/server/bin/start_test.py
user=root
directory=/root/bin/test
stdout_logfile=/root/log/sup/test_aiera.log
stderr_logfile=/root/log/sup/test_aiera.log
autostart=true
autorestart=true
redirect_stderr=true
killasgroup = true
startsecs=2
loglevel=info
#numprocs = 4
#numprocs_start = 1

posted @ 2021-11-20 23:10  pywjh  阅读(522)  评论(0编辑  收藏  举报
回到顶部