Python - Web 服务器


Python 具有足够的通用性,可以创建多种类型的应用程序和驱动互联网或其他计算机网络的程序。互联网的一个重要方面是 Web 服务器,它是客户端服务器模型的基础。在本章中,我们将看到一些使用纯Python语言创建的Web服务器。

鳐鱼

Gunicorn 是一个独立的 Web 服务器,它有一个中央主进程,负责管理已启动的不同类型的工作进程。然后这些工作进程直接处理请求。而这一切都可以进行配置和调整,以适应生产场景的多样化需求。

重要特点

  • 它支持 WSGI,可以与任何运行 WSGI 的 Python 应用程序和框架一起使用
  • 它还可以用作 Paster(例如:Pyramid)、Django 开发服务器、web2py 等的直接替代品
  • 提供各种工作类型/配置和自动工作进程管理的选择
  • 通过同步和异步工作线程支持 HTTP/1.0 和 HTTP/1.1(Keep-Alive)
  • 附带 SSL 支持
  • 可通过挂钩扩展

CherryPy WSGI 服务器

CherryPy 是一个独立的 Web 框架,因为它可以独立运行,无需额外的软件。它有自己的 WSGI、HTTP/1.1 兼容的 Web 服务器。由于它是一个 WSGI 服务器,因此它也可以用于为任何其他 WSGI Python 应用程序提供服务,而无需绑定到 CherryPy 的应用程序开发框架。

重要特点

  • 它可以运行任何在 WSGI 上运行的 Python Web 应用程序。
  • 它可以处理静态文件,并且只能用于单独提供文件和文件夹服务。
  • 它是线程池的。
  • 它支持 SSL。
  • 它是一种易于适应、易于使用的纯 Python 替代方案,健壮且可靠。

扭曲的网

它是 Twisted 网络库附带的 Web 服务器。尽管 Twisted 本身是“事件驱动的网络引擎”,但 Twisted Web 服务器在 WSGI 上运行,并且能够为其他 Python Web 应用程序提供支持。

重要特点

  • 它运行 WSGI Python 应用程序
  • 它可以像 Python Web 服务器框架一样运行,允许您使用该语言对其进行编程以实现自定义 HTTP 服务目的
  • 它通过根据 HTTP 请求执行的 Python Scrips (.rpy) 提供简单快速的原型设计能力
  • 它具有代理和反向代理功能
  • 它支持虚拟主机
  • • 它甚至可以服务 Perl、PHP 等