fastapi常用的启动方式

 

 

demo

gunicorn main:app -b 0.0.0.0:11223  -w 10 -k uvicorn.workers.UvicornH11Worker --daemon

#  在线上先这样才能看到报错信息
uvicorn main:app --reload --host 0.0.0.0     
uvicorn main:app --reload
gunicorn -c gunicorn_info.py info:app


ps -ef|grep gunicorn |grep -v grep |awk '{print $2}'|xargs kill -9

 

可能遇到的问题:

fastapi 一般是使用 uvicorn 启动的,gunicorn需要对uvicorn包装。
使用supervisor管理进程时,


gunicorn --worker-class="uvicorn.workers.UvicornWorker" main:app --bind 0.0.0.0:8040 --workers 1 --timeout 120 --threads 2
 启动时,遇到了,无法连接端口的问题:

[ERROR] Connection in use: ('0.0.0.0', 8040)
 问题:

在主程序(main)中使用了

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8040, access_log=True, reload=False,
                log_config=defaultLoggingConfig.log_config)
 导致8040端口被占用,需要删除上面行。

 

posted @ 2023-08-15 17:00  阿布_alone  阅读(676)  评论(0编辑  收藏  举报
TOP