首页 > 其他分享 >Gunicorn和Uvicorn

Gunicorn和Uvicorn

时间:2023-08-07 16:11:07浏览次数:35  
标签:Web Gunicorn -- 0.0 Uvicorn 进程

WSGI:Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。

Gunicorn 是一个使用 WSGI 标准的应用服务器。

Flask 和 DJango可以直接使用 Gunicorn 运行,但是FastAPI不能直接使用 Gunicorn,因为 FastAPI 使用最新的ASGI 标准。

Gunicorn 可以作为进程管理器使用,并且可以设定进程的类型,Uvicorn 可以作为 Gunicorn的进程类型。

使用这种组合,Gunicorn 将充当进程管理器,监听端口和IP。它会将接收到的数据传输到运行 Uvicorn 类的工作进程,然后,Uvicorn 将数据传输给 FastAPI。

gunicorn main:app --workers 2 --worker-class uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000 

Gunicorn 可以管理失效的进程,如果进程死掉会重启一个新的进程以维持工作进程的数量。

uvicorn 在单进程上使用异步协程是有优势的、但是如果接口方法是同步的则走的多进程模式、也就是 workers 的数量、 这个时候 uvicorn 不如 gunicorn、性能上会有些限制。

uvicorn main:app --host 0.0.0.0 --port 8000 --workers 4

标签:Web,Gunicorn,--,0.0,Uvicorn,进程
From: https://www.cnblogs.com/beihangxuwei/p/17611709.html

相关文章

  • 记一次 gunicorn+python+flask+venv 部署过程
    记一次gunicorn+python+flask+venv部署过程flask直接部署到服务器会有警告,本身也是不稳定的,它只是一个应用。需要一个独立的Server来承担WSGI角色和责任。venv是pytohn的虚拟环境,用来隔离不同项目的包版本不一致的问题。python3.6+以上都自带有,在部署之前先创建虚拟环境。1、......
  • uvicorn自定义日志
    BOSS问为什么对FastAPI的请求会有非200,一直抛异常,定位问题ing。在对请求的处理日志中没有找到对应记录,请求没有过来。观察uvicorn的日志,默认没有请求时间,无法比对。INFO:127.0.0.1:7225-"POST/appHTTP/1.1"200OK现在给这个日志加时间:importasyncioimportim......
  • django使用gunicorn框架,客户端请求耗时接口被中断问题
    项目使用的是django,使用了gunicorn作为动态web服务,使用的是supervisor作为进程管理工具。由于特殊原因,最近上线了一个非常耗时的http接口,一段时间后开始有用户陆续反馈他们的代码调用这个接口会返回502错误,经过一段时间的排查排除了网关的问题,确认是系统问题。经过......
  • python gunicorn详解
    Gunicorn是一个unix上被广泛使用的高性能的PythonWSGIUNIXHTTPServer。和大多数的web框架(flask)兼容,并具有实现简单,轻量级,高性能等特点。 通过Gunicorn来启动flask框架defstart_app_by_system(args,app,options):"""启动配置项:paramargs:参数......
  • 12_How to deploy Flask apps on Ubuntu VPS Using gunicorn and Ngnix
      地址:https://www.codewithharry.com/blogpost/flask-app-deploy-using-gunicorn-nginx/ HowtodeployflaskapponUbuntuVPSusingNginxandgunicornInthispost,wewillseehowtodeployflaskapplicationsusinggunicornWSGIserverandnginxasarev......
  • 10_How deploy a Django application using Nginx & Gunicorn in Production
     地址:https://www.codewithharry.com/blogpost/django-deploy-nginx-gunicorn/  HowtohostDjangoApplicationusinggunicorn&nginxinProductionInthispost,wewillseehowtousenginxwithgunicorntoservedjangoapplicationsinproduction. Dj......
  • Django与Postgres、Gunicorn和Nginx 容器化
    本文详细介绍了如何配置Django以在Docker上运行Postgres。对于生产环境,我们将添加Nginx和Gunicorn。我们还将了解如何通过Nginx提供Django静态和媒体文件。建立项目创建一个新的项目目录,然后开始Django项目:$mkdirdjango-on-docker&&cddjango-on-docker$mkdir......
  • 使用gunicorn和supervisor部署flask项目
    我们自己编写的发布系统基于Python3.6开发,项目存放在自建gitlab上,地址为ssh://gitlab.xxxx/xxx/xxx.git这里先简单说下gitlab的3中发布方式:HTTP协议是最常用的方式,因为它简单易用,拉取只需要输入账号密码,但相对较慢且安全性较低。SSH协议则更加安全和方便,拉取代码速度更快,适合在......
  • docker+gunicorn+fastapi部署
    一、准备工作1、先确保项目可以正常运行2、使用pipfreeze导出第三方库3、在项目根目录新建pip.conf文件,写入一下内容[global]index-url=http://......
  • Nginx+Gunicorn+supervisor部署基于flask开发的项目
    1.概述(1)概述FlaskFlask是Python中有名的轻量级同步web框架Gunicorn高性能的PythonWSGI服务器NginxNginx是一个高性能的HTTP和反向代理服务器,同时也是......