Python 足够灵活,可以创建许多类型的应用程序和程序,这些程序可以驱动互联网或其他计算机网络。互联网的一个重要方面是位于客户端服务器模型根目录中的 Web 服务器。在本章中,我们将看到几个使用纯 Python 语言创建的 Web 服务器。
Gunicorn
Gunicorn 是一款独立的 Web 服务器,其中心主进程负责管理不同类型的已启动工作进程。然后,这些工作进程直接处理和解决请求。所有这些都可以配置和调整以满足生产场景的多样化需求。
Important Features
-
它支持 WSGI,可以与任何运行 Python 应用程序和框架的 WSGI 配合使用
-
它还可以用作 Paster(例如:Pyramid)、Django 的开发服务器、web2py 等的直接替代方案
-
提供各种工作器类型/配置和自动工作器进程管理
-
通过同步和异步工作者支持 HTTP/1.0 和 HTTP/1.1(Keep-Alive)
-
Comes with SSL support
-
Extensible with hooks
CherryPy WSGI Server
CherryPy 是一种自包含 Web 框架,因为它可以自己运行,无需其他软件。它有自己的 WSGI、HTTP/1.1 合规的 Web 服务器。因为它是一个 WSGI 服务器,所以它可以用来服务任何其他 WSGI Python 应用程序,而不必绑定到 CherryPy 的应用程序开发框架。
Important Features
-
它可以运行任何运行在 WSGI 上的 Python Web 应用程序。
-
它可以处理静态文件,还可以用于仅提供文件和文件夹。
-
It is thread-pooled.
-
它带有对 SSL 的支持。
-
它是一种易于适应、易于使用的纯 Python 替代方法,具有强大性和可靠性。
Twisted Web
这是一个带有 Twisted 网络库的 Web 服务器。Twisted 本身是“一个事件驱动的网络引擎”,而 Twisted Web 服务器运行在 WSGI 上,并且能够为其他 Python Web 应用程序供电。
Important Features
-
它运行 WSGI Python 应用程序
-
它可以充当 Python Web 服务器框架,允许您使用该语言对其进行编程以满足定制的 HTTP 服务目的
-
它通过在 HTTP 请求执行时执行的 Python 脚本(.rpy)提供了简单快速的原型制作能力
-
它具有代理和反向代理功能
-
It supports Virtual Hosts
-
• 它甚至可以提供 Perl、PHP 等服务