Gunicorn是什么

Gunicorn(绿色独角兽)是一个用于UNIX的Python WSGI HTTP服务器。它是一个前叉工作者模型,从Ruby的Unicorn项目移植而来。 Gunicorn服务器与许多Web框架广泛兼容,轻松服务器资源并且速度相当快。

Gunicorn Green Unicorn(绿色独角兽)是一个用于 UNIX 的 Python WSGI HTTP 服务器。它是一个前叉工作者模型,从 Ruby 的 Unicorn 项目移植而来。 Gunicorn 服务器与许多 Web 框架广泛兼容,简单实现,轻松服务器资源并且速度相当快。

Gunicorn是什么

功能

本机支持 WSGI,web2py,Django 和 Paster自动化工作流程管理简单的 Python 配置多个工人配置各种服务器挂钩,可扩展性兼容 Python 2.6+和 Python 3.2+

Gunicorn 是一个 unix 上被广泛使用的高性能的 Python WSGI UNIX HTTP Server。和大多数的 web 框架兼容,并具有实现简单,轻量级,高性能等特点。

Gunicorn 服务器作为 wsgi app 的容器,能够与各种 Web 框架兼容(flask,django 等),得益于 gevent 等技术,使用 Gunicorn 能够在基本不改变 wsgi app 代码的前提下,大幅度提高 wsgi app 的性能。

服务模型(Server Model)

Gunicorn 是基于 pre-fork 模型的。也就意味着有一个中心管理进程( master process )用来管理 worker 进程集合。Master 从不知道任何关于客户端的信息。所有的请求和响应处理都是由 worker 进程来处理的。

Master(管理者)

主程序是一个简单的循环,监听各种信号以及相应的响应进程。master 管理着正在运行的 worker 集合,通过监听各种信号比如 TTIN, TTOU, and CHLD. TTIN and TTOU 响应的增加和减少 worker 的数目。CHLD 信号表明一个子进程已经结束了,在这种情况下 master 会自动的重启失败的 worker。

worker

woker 有很多种,包括:ggevent、geventlet、gtornado 等等。

这里主要分析 ggevent。每个 ggevent worker 启动的时候会启动多个 server 对象:worker 首先为每个 listener 创建一个 server 对象(注:为什么是一组 listener,因为 gunicorn 可以绑定一组地址,每个地址对于一个 listener),每个 server 对象都有运行在一个单独的 gevent pool 对象中。真正等待链接和处理链接的操作是在 server 对象中进行的。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年11月13日 上午2:18
下一篇 2023年11月13日 上午2:20

相关推荐

  • 什么是NAS

    NAS(网络附属存储)是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。 NAS(Network Attached Storage:网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”…

    2023年11月30日
    1600
  • Anki是什么

    Ank是基于艾宾浩斯遗忘曲线原理设计开发的一款辅助记忆的应用软件。由于Anki比传统的学习方法更有效,并且Anki可以极大的减少我们花在学习上的时间。 甚至,任何需要记住日常生活中的事情的人都可以从Anki中受益。 Ank 是基于艾宾浩斯遗忘曲线原理设计开发的一款辅助记忆的应用软件。由于 Anki 比传统的学习方法更有效,并且 Anki 可以极大的减少我们花…

    2023年11月30日
    1800
  • 504错误是什么

    504错误代表网关超时 (Gateway timeout),是指服务器作为网关或代理,但是没有及时从上游服务器收到请求。 504 错误代表网关超时 (Gateway timeout),是指服务器作为网关或代理,但是没有及时从上游服务器收到请求。 服务器(不一定是 Web 服务器)正在作为一个网关或代理来完成客户(如您的浏览器或我们的 CheckUpDown …

    2023年11月29日
    1300
  • Unix系统是什么

    Unix是一个分时操作系统,除了作为网络操作系统之外,还可以作为单机操作系统使用。Unix作为一种开发平台和台式操作系统获得了广泛使用,目前主要用于工程应用和科学计算等领域。 Unix 是 20 世纪 70 年代初出现的一个操作系统,除了作为网络操作系统之外,还可以作为单机操作系统使用。Unix 作为一种开发平台和台式操作系统获得了广泛使用,目前主要用于工程…

    2023年11月28日
    2000
  • WPS OFFICE是什么

    WPS Office是由金山软件股份有限公司自主研发的一款办公软件套装,可以实现办公软件最常用的文字、表格、演示等多种功能。具有内存占用低、运行速度快、体积小巧、强大插件平台支持、免费提供海量在线存储空间及文档模板。 WPS Office 是由金山软件股份有限公司自主研发的一款办公软件套装,可以实现办公软件最常用的文字、表格、演示等多种功能。具有内存占用低、…

    2023年11月28日
    1900
  • 服务器内存是什么

    服务器内存也是内存(RAM),具有一些特有的技术从而有着极高的稳定性和纠错性能。最直观的分辨服务器内存与普通内存的方法就是看条子上的字有没有带ECC模块。 服务器内存也是内存(RAM),具有一些特有的技术从而有着极高的稳定性和纠错性能。最直观的分辨服务器内存与普通内存的方法就是看条子上的字有没有带 ECC 模块。 作用 服务器内存也是内存,它与普通 PC 机…

    2023年11月27日
    2100
  • 服务器硬盘是什么

    服务器硬盘,顾名思义,就是服务器上使用的硬盘。如果说服务器是网络数据的核心,那么服务器硬盘就是这个核心的数据仓库,所有的软件和用户数据都存储在这里。 服务器硬盘,顾名思义,就是服务器上使用的硬盘。如果说服务器是网络数据的核心,那么服务器硬盘就是这个核心的数据仓库,所有的软件和用户数据都存储在这里。储存在服务器上的硬盘数据是最宝贵的,因此硬盘的可靠性是非常重要…

    2023年11月27日
    2600
  • 什么是前端开发

    前端开发是创建Web页面或app等前端界面呈现给用户的过程。前端开发通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互 。它从网页制作演变而来,名称上有很明显的时代特征。 前端开发是创建 Web 页面或 app 等前端界面呈现给用户的过程。前端开发通过 HTML,CSS 及 JavaScript …

    2023年11月21日
    1700
  • 压缩解压软件有哪些

    解压软件也叫压缩软件,可以把压缩文件里的文件给解压出来,也可以把文件压缩可以缩小文件的体积,减小硬盘的占用。软件是根据16进制数字重叠原理来制定压缩算法来压缩文件。常见压缩解压软件有:WinRAR、360压缩、好压。 解压软件也叫压缩软件,可以把压缩文件里的文件给解压出来,也可以把文件压缩可以缩小文件的体积,减小硬盘的占用。压缩软件和解压缩软件是根据 16 …

    2023年11月21日
    1300
  • 有哪些服务器面板

    服务器管理面板能够便捷的查看服务器的各类信息,同时能够快速安装布局服务器环境,新增删除和修改网站,帮助服务器管理人员和站长更高效的运维。国内常见的服务器面板有:AMH、WDCP、宝塔。 服务器管理面板能够便捷的查看服务器的各类信息,比如内存,cpu,硬盘等等的这些使用情况。同时能够快速安装布局服务器环境,新增删除和修改网站,帮助服务器管理人员和站长更高效的运…

    2023年11月21日
    1800



微信客服