supervisor的使用部署说明

40次阅读

共计 1629 个字符,预计需要花费 5 分钟才能阅读完成。

suopervisor

一、安装 supervisor 安装

注:以下所有操作在 CentOS7 中进行

1. 安装 CentOS7 扩展软件仓库

sudo yum install -y epel-release

2. 安装 supervisor

yum install -y supervisor

3. 查看安装路径

rpm -ql supervisor

4. 修改并定义 ini 文件

step1:

找到 supervisor 的配置的文件,可以使用例如:whereis supervisord.ini 或者 find / -name supervisor* 命令进行查询

setp2:

修改配置文件,将配置文件最后一行修改 ini 文件路径,意为:supervisor 每次 update 都会加载这个自定义路径文件夹下的

所有后缀为 ini 的文件。

step3:

创建 ini 文件,加入 supervisor 的进程管理中,实现服务器后台运行
[program:exmaple] # example 在 supercisor 中的进程名
command=/usr/local/bin/gunicorn -w 4 -b 127.0.0.1:91 run:app 
# 上述代码为使用 gunicorn 运行 flask。run 是你的文件名:app 指的是 app = Flask(__name__)此处的 app
                        或者是
command=/usr/local/bin/python3 /root/test/test.py
# command= 运行指令所在路径  需要运行的文件(ps: 建议使用绝对路径)directory=/root/test/
# 需要运行的文件所在的绝对路径
autostart=true
autorestart=true
priority=5
killasgroup=true
stopasgroup=true
python 运行单个文件配置举例

其实若只是运行单个文件,可以直接使用 nohup python test.py & (ps:需cdtest所在文件夹执行此命令) 即会实现服务器后台运行,同时会在 test.py 所在文件夹下生成 nohup.out 日志文件

[program:myProgram]
command=python /home/myname/test.py
autostart=true
autorestart=ture
stdout_logfile=/home/myname/test.log
gunicore 运行 flask 的配置文件举例
[program:myProgram]
command=/usr/local/bin/gunicorn -w 4 -b 127.0.0.1:91 需要运行的文件:app
directory=/root/example/
autostart=true
autorestart=true
priority=5
killasgroup=true
stopasgroup=true

二、启动 supervisor

supervisord

1. 启动 Supervisor 服务

supervisorctl start all    # 查看 Supervisor 服务状态
supervisorctl status

2. 修改了 Supervisor ini 文件或者 conf 文件配置后,需要更新服务

supervisorctl update # 更新 supervisor 的配置
supervisorctl reload # 重新加载项目到内存中

3. 重启 supervisor 服务

supervisorctl restart # 不管当前是已经关闭还是正在运行

4. 日志路径

tail -f /var/log/supervisor/supervisord.log

5. 关闭 supervisor 的服务

supervisorctl stop all # 关闭所有
supervisorctl stop example # 关掉其中一个

三、关于报错

  1. 没有启动 supervisord —–> 运行 supervisord 命令
  2. 你的配置文件内容出错了 ——> 检查你的配置文件内容
  3. 你的需要运行的代码出错了 —–> 检查你的代码:

正文完
 0