快速异步python web服务器
nfapws的Python项目详细描述
目录
这个自述文件最初是由 fapws3,由nfapws python的维护者吴哲修改 包以详细说明一些安装说明。
Introduction
这是一个使用wonderfull libev的python web服务器
http://software.schmorp.de/pkg/libev.html
图书馆。因此,这是另一个类似于 水母,扭曲,杏子。fapws是一个符合wsgi的web服务器。
What are Fapws2 and Fapws3 about ?
fapws1、fapws2和fapws3是“内部”项目的名称。重命名 与完全重写相对应。
一开始我做了fapws1,一个基于apricot的python扩展 代码。然后,很快就需要有更多的功能, 我叫它fapws2。FAPWS1从未出版过。FAPWS2是 基于libevent的http库重建。很好,但是我 已被强制修改evhttp_handle_请求。尽管有很多邮件 在libevent邮件列表中,没有人同意接受我的修补程序 libevent的http代码。因此,或与libevent<;1.3e或 在将libevent用于fapws之前,必须更改它的代码。这个 不是很好的工作方式;-(。比fapws3更重要的是 fapws2不依赖于http的libevent api。在那一刻 marc lehmann在libevent邮件列表中发布了一封描述 创建类似libevent的“新”优化事件库。 因为代码对我来说更干净, 提供的文档
http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod
很清楚,我决定试一试。
对FAPWS2的支持将严格限于bug修复。我的当前 工作重点将放在FAPWS3上。
Why a new python web server ?
在这种情况下,通常的问题是为什么要换一个新的?简而言之, 答案是因为听起来杏子没有得到更多的维护,而且 因为水母和麻花不能像杏子那样快。的确, 经过几次纯性能测试后,由于 libevent库用于apricot,是最快的python web服务器。
但这并不是唯一的原因。个人而言,我更喜欢活动网站 服务器。实际上,这样的架构提供了更高性能的web服务器和 更有限的记忆足迹。你可以很容易地安装它们 内存有限的机器(例如VDS)。
Philosophy:
fapws必须保持最简单和最快的web服务器。因此 应用程序的核心非常有限。每个附加功能 将放在“contrib”子目录中。这是瓦伦塔里 磁盘空间“脚印”的原因。因此,FAPWS还必须促进 磁盘利用率。
How to install fapws?
Pre-requisit:
- 带有头文件的python,版本>;=2.4,(在debian中,sudo aptitude install python python-dev)
- 带有头文件的libev,版本>;=3.49(在debian中,sudo aptitude install libev3 libev-dev)
警告:
为了避免与以前的版本(称为fapws2)发生冲突,最好 在安装新的之前将其移除。
Install fapws:
sudo easy_install nfapws
How to use Fapws ?
使用fapws非常简单,可以通过4个主要步骤来完成:
- 使用方法定义webserve的主要参数 “开始”和“基础”方法。除非你真的知道你是什么 我强烈建议使用 包裹。
- 定义wsgi python回调。
- 链接先前创建的python回调的url路径。
- 通过触发“run”方法启动web服务器。
- 如libev文档中所述,您可以控制 使用了事件循环。默认情况下,Libev Esti最适合做什么 您的体系结构,但可以使用 环境变量:libev_flags。选择是:1=选择, 2=轮询(除Windows以外的所有位置),4=epoll(Linux),8=kqueue(BSD 克隆),16=devpoll(solaris 8),32=端口(solaris 10)
要获得更多帮助,请检查示例。
How to get news about Fapws?
你可以在我自己的博客上找到关于fapws的信息: http://william-os4y.livejournal.com/