Gunicorn

Python 的 WSGI 服务器
授权协议 MIT
开发语言 Python
所属分类 服务器软件、 应用服务器
软件类型 开源软件
地区 不详
投 递 者 石正卿
操作系统 Linux
开源组织
适用人群 未知
 软件概览

Gunicorn 绿色独角兽'是一个Python WSGI UNIX的HTTP服务器。这是一个pre-fork worker的模型,从Ruby的独角兽(Unicorn )项目移植。该Gunicorn服务器大致与各种Web框架兼容,只需非常简单的执行,轻量级的资源消耗,以及相当迅速。

结构图:

uWSGI 的性能比较:

特点:

  • 本身支持WSGI、Django、Paster

  • 自动辅助进程管理

  • 简单的 Python配置

  • 允许配置多个工作环境

  • 各种服务器的可扩展钩子

  • 与 Python 2.x > = 2.5,3.x >= 3.2 兼容

安装:

$ pip install gunicorn
$ cat myapp.py
  def app(environ, start_response):
      data = b"Hello, World!\n"
      start_response("200 OK", [
          ("Content-Type", "text/plain"),
          ("Content-Length", str(len(data)))
      ])
      return iter([data])
$ gunicorn -w 4 myapp:app
[2014-09-10 10:22:28 +0000] [30869] [INFO] Listening at: http://127.0.0.1:8000 (30869)
[2014-09-10 10:22:28 +0000] [30869] [INFO] Using worker: sync
[2014-09-10 10:22:28 +0000] [30874] [INFO] Booting worker with pid: 30874
[2014-09-10 10:22:28 +0000] [30875] [INFO] Booting worker with pid: 30875
[2014-09-10 10:22:28 +0000] [30876] [INFO] Booting worker with pid: 30876
[2014-09-10 10:22:28 +0000] [30877] [INFO] Booting worker with pid: 30877
  • Gunicorn gunicorn是一个基于python的Web Servers Gateway Interface for unix; 就是web 服务器端接收请求和python app 应用的一个桥梁; 如果不用gunicorn,只是使用Flask,对于大量和同时的请求,就会奔溃和出现错误;而gunicorn就是对于大量高并发的请求,能够实现请求到达服务器,以及作出相应,并能根据负载需求,及时

  • 安装 pip install gunicorn 基于 json tex2 板子 pip 版本对gunicorn 安装支持不稳定 特别是gunicron 19.0.3 版本之上的 这里可以用`sudo apt-get install gunicorn` 安装稳定版本 对于启动项目可能会出现的 bug gunicorn 会加载虚拟环境之外 也就是说 在虚拟环境中会加载虚拟环境之外的安装位置 这里不会抛

  • 我们一个项目使用了 Python Flask 框架来实现 Web 服务,之前的日志输出一直有问题。而从项目需求、运行维护出发,正确的日志输出对使用者来说都是非常重要的。 这里完整的整理了从 开发 Flask 时的日志设置,到生产环境使用 Gunicorn 运行 Flask 的日志设置 以及 使用 Docker 容器化部署的日志输出 的全部细节。 普通 Flask 日志设置 Flask 本身使用 P

  • 目录 一、什么是gunicorn 1、简介 2、优势 3、源码分析入口 二、gunicorn安装部署 三、gunicorn简单应用 四、gunicorn worker Model 1、同步worker模式sync 2、异步worker模式 3、Tornado Workers 4、AsyncIO Workers(gthread, gaiohttp) 5、各模式对比 6、如何选择工作模式 五、guni

  • 作为一个Python选手,工作中需要的一些服务接口一般会用Flask来开发。 Flask非常容易上手,它自带的app.run(host="0.0.0.0", port=7001)用来调试非常方便,但是用于生产环境无论是处理高并发还是鲁棒性都有所欠缺,一般会配合WGSI容器来进行[生产环境的部署][1]。 小磊哥推荐了参考文章[1]中的部署方式,希望将已有的服务放到gunicorn或者Torna

  • Gunicorn “Green Unicorn”是用于UNIX的Python WSGI HTTP服务器。从Ruby的Unicorn项目移植而来的fork-worker模型。Gunicorn服务器与各种web框架广泛兼容,实现简单,服务器资源少,速度相当快。 特征 原生支持WSGI、Django和Paster 自动工作进程管理 简单的Python配置 多个工作机配置 用于扩展性的各种服务器hooks

 相关资料
  • Django 首要的部署平台是WSGI,它是Python Web 服务器和应用的标准。 Django 的startproject 管理命名为你设置一个简单的默认WSGI 配置,你可以根据你项目的需要做调整并指定任何与WSGI 兼容的应用服务器使用。 Django 包含以下WSGI 服务器的入门文档: 如何使用Apache 和mod_wsgi 部署Django 从Apache 中利用Django 的

  • 本文向大家介绍浅析Python 中的 WSGI 接口和 WSGI 服务的运行,包括了浅析Python 中的 WSGI 接口和 WSGI 服务的运行的使用技巧和注意事项,需要的朋友参考一下 HTTP格式 HTTP GET请求的格式: 每个Header一行一个,换行符是\r\n。 HTTP POST请求的格式: 当遇到连续两个\r\n时,Header部分结束,后面的数据全部是Body。 HTTP响应的

  • 这里有一些在服务器运行 WSGI 应用的方式。当你正在开发一个应用,你往往不想在一个成 熟服务器上部署和运行,取而代之的是一个轻量服务器。 Werkzeug 就内置了这样一个轻量 的服务器。 在一个服务器上运行 start-myproject.py 最简单的方法如下示例: #!/usr/bin/env python # -*- coding: utf-8 -*- from werkzeug.se

  • 问题内容: 用uWSGI和Nginx设置Flask是非常困难的,即使使用扩展脚本也需要花费一些时间,并且必须记录到指令中以备后用。 如果我不打算在服务器上增加很大的负载(它对公共隐藏),那么在没有uWSGI的情况下运行它是否有意义?(Flask可以监听端口。Nginx可以转发请求吗?) 只在端口上运行裸瓶应用程序,甚至不使用Nginx是否有意义? 问题答案: 当你“运行Flask”时,你实际上是在

  • 问题内容: 用uWSGI和Nginx设置Flask是非常困难的,即使使用扩展脚本也需要花费一些时间,并且必须记录到指令中以备后用。 如果我不打算在服务器上增加很大的负载(它对公共隐藏),那么在没有uWSGI的情况下运行它是否有意义?(Flask可以监听端口。Nginx可以转发请求吗?) 只在端口上运行裸瓶应用程序,甚至不使用Nginx是否有意义? 问题答案: 当你“运行Flask”时,你实际上是在

  • 我研究了任何针对Oracle WebLogic 12c的WSGI插件/模块,它允许我运行python flask应用程序,但没有成功。 我之所以需要从WebLogic 12c运行,是因为我需要在那里使用SSL认证。 通过研究,我发现许多web服务器(Apache、Gunicorn等)可以充当WebLogic的代理,下面是一个例子,其中Nginx使用SSL接收所有请求,然后将它们传递给WebLogi

  • 我使用Apache HTTPDmod_wsgi运行一个烧瓶应用程序。该应用程序运行良好,但每次访问页面时,error_log都会出现错误。(我正在尝试优化应用程序)。 错误为:AH01630:客户端被服务器配置拒绝:/apps/apache/httpd_alass/htdocs/ HTTPD.conf 包含 即使在WSGI正确提供此应用程序之后,为什么会在error_log中写入错误以及如何修复它

  • WSGI 没有官方的实现, 因为WSGI更像一个协议. 只要遵照这些协议,WSGI应用(Application )都可以在任何实现(Server)上运行, 反之亦然 WSGI:Python Web Server Gateway Interface v1.0 它是 PEP333 中定义的(PEP333的目标建立一个简单的普遍适用的服务器与Web框架之间的接口) WSGI是Python应用程序或框架和