目录
一、安装Supervisor
bash
pip install supervisor
pip成功安装后(yum其实也能安装,就是使用yum install supervisor安装后会自动生成配置文件,这样也就没有本文下面的内容了...),系统会自动配置三个系统命令:
supervisortd(用来启动supervisor自身服务进程)
supervisorctl(用来管理托管服务)
echo_supervisord_conf(用于首次生成默认配置文件)
二、首次配置文件生成
运行如下命令生成配置文件,一般是放到etc下的,是可以改的。
bash
echo_supervisord_conf > /etc/supervisord.conf
三、配置托管服务配置文件
3.1、基本配置文件
为方便查看管理,我们的托管服务可以另起一个新的文件,在主配置文件(/etc/supervisord.conf)中通过include去引入子配置文件,这样就实现了服务配置分离,也方便后续的管理与修改。
bash
vim /etc/supervisord.conf
# 文件最后一行,添加如下代码,文件名称、路径替换为实际的
[include]
files = supervisord.d/*.ini
3.2、托管服务配置
假设我们有一个web服务需要使用Supervisor进行托管,相关的配置文件内容就可以按照如下方式配置。
bash
[program:tslweb]
command=/root/miniconda3/envs/TSLWEB/bin/gunicorn -c gunicorn_config.py wsgi:app
directory=/var/local/TSLWEB
autostart=false
autorestart=true
stderr_logfile=/var/log/TSLWEB/api_err.log
stdout_logfile=/var/log/TSLWEB/api.log
environment=EXECJS_RUNTIME="Node",PYCRYPTODOME_DISABLE_GMP="1",PATH="/root/.nvm/versions/node/v16.9.1/bin:/root/miniconda3/envs/TSLWEB/bin:/usr/bin:/bin"
四、启动Supervisor服务
配置文件编辑好后,我们需要使用supervisortd命令启动服务,启动后Supervisor会自动启动并监控配置文件中的托管服务。
bash
supervisord -c /etc/supervisor/supervisord.conf
五、停止、重启托管服务
supervisortd命令启动好后,如果后续我们需要对托管服务管理,那我们就可以使用supervisorctl命令了。
bash
supervisorctl status
supervisorctl stop tslweb
supervisorctl start tslweb
supervisorctl restart tslweb