简介:Supervisor是一个进程控制系统,运行在类Unix操作系统上。它可以帮助用户监控和控制一组进程,如应用程序服务器或其他守护进程,确保它们始终处于运行状态,并在失败时自动重启。Supervisor还提供了管理和监视这些进程的简单界面和命令行工具。该系统适用于Web应用程序、数据库服务器、消息代理等各种类型的后台服务。
历史攻略:
使用Gunicorn部署Sanic应用
sanic:通过dockerfile部署
安装:
pip install supervisor
pip install sanic
案例源码:app.py
# -*- coding: utf-8 -*-
# time: 2023/4/4 12:02
# file: app.py
# 公众号: 玩转测试开发
import datetime
from sanic import Sanic
from sanic.response import json
app = Sanic()
@app.route('/')
async def hello_world(request):
return json({"hello": "world", "time": f"{str(datetime.datetime.now())}"})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8021)
创建Supervisor配置文件:supervisord.conf
[program:myapp]
command=/root/miniconda3/envs/py392/bin/python /home/app.py
directory=/home
autostart=true
autorestart=true
redirect_stderr=true
[supervisord]
nodaemon=true
[supervisorctl]
stdout_logfile=/home/myapp.log
启动Supervisor服务:
sudo supervisord -c /path/to/supervisord.conf
测试应用程序:访问http://{ip}:8021/
停止Supervisor服务:
sudo supervisorctl shutdown