Gunicorn是什么

Fanly 问答 2019-07-10 14:14:15 阅读(...)

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 对象中进行的。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • Vscode

    Vscode主要用来编写什么

    Vscode主要用来编写c/c++,它是一个轻量级但功能强大的源代码编辑器,运行在桌面上,针对于编写现代Web和云应用的跨平台源代码编辑器,可用于C++、C#、Java、Python、PHP灯语言,和运行时(如.NET 和 Unity)。
  • Komodo IDE

    Komodo是什么

    Komodo是一个免费/收费、支持多种语言、以及跨平台的IDE。它非常强大,支持Perl、PHP、Python、Ruby、Tcl,以及JavaScript、CSS、HTML、XML。拥有后台语法检测、颜色匹配、错误捕捉、自动补齐等特性。
  • 数据分析 Data Analysis

    数据分析有什么软件

    进行数据分析除了需要良好的数学统计基础、对数据的敏感性外,有一位熟练使用的软件是非常重要的,常用的数据分析软件有Python、Excel、SPSS、power bi、Matlab、R语言、SQL等。
  • 数据分析 data analysis

    数据分析师要学些什么

    数据分析师要学的东西分为理论和操作工具两类,理论知识部分包含高等数学、统计学等。操作工具有excel、SQL、python等。
  • Scikit-Learn

    Sklearn是什么

    Sklearn (Scikit-Learn) 是基于Python语言的机器学习工具,是机器学习中的常用第三方模块。建立在NumPy, SciPy, Pandas和Matplotlib之上,所有对象的接口简单,对常用的机器学习方法进行了封装。
  • RGBA

    RGBA是什么

    RGBA是一种色彩空间的模型,由RGB色彩空间和Alpha通道组成。RGBA代表红(Red)、绿(Green)、蓝(Blue)和Alpha通道(Alpha)。Alpha通道为图像的不透明度参数。