Python - Web 服务器



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

Gunicorn

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

重要特性

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

CherryPy WSGI 服务器

CherryPy 是一个自包含的 Web 框架,因为它可以在没有其他软件的情况下独立运行。它拥有自己的 WSGI、符合 HTTP/1.1 的 Web 服务器。由于它是一个 WSGI 服务器,因此也可以用于服务任何其他 WSGI Python 应用程序,而无需绑定到 CherryPy 的应用程序开发框架。

重要特性

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

Twisted Web

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

重要特性

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