使用Supervisor部署Sanic应用

简介: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部署Sanic应用_第1张图片

停止Supervisor服务:

sudo supervisorctl shutdown

你可能感兴趣的:(python,sanic)