您的位置:首页 > 其它

Tornado Web服务器

2012-03-16 12:56 281 查看
Tornado Web服务器



TornadoFriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本。这个 Web 框架看起来有些像 web.py 或者 Google 的 webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具
和优化。

Tornado 和现在的主流 Web 服务器框架(包括大多数
Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其
非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,Tornado 是一个理想的 Web 框架。我们开发这个 Web 服务器的主要目的就是为了处理 FriendFeed 的实时功能
——在 FriendFeed 的应用里每一个活动用户都会保持着一个服务器连接。(关于如何扩容
服务器,以处理数以千计的客户端的连接的问题,请参阅 C10K problem。)

请参见 Tornado 文档Tornado 原文文档(镜像)以详细了解该 Web 框架。

下载和安装

自动安装: Tornado 已经列入 PyPI ,因此可以通过
pip
或者
easy_install
来安装。如果你没有安装 libcurl 的话,你需要将其单独安装到系统中。请参见下面的安装依赖一节。注意一点,使用
pip
easy_install
安装的 Tornado 并没有包含源代码中的 demo 程序。

手动安装: 下载 tornado-1.2.1.tar.gz

tar xvzf tornado-1.2.1.tar.gz
cd tornado-1.2.1
python setup.py build
sudo python setup.py install
Tornado 的代码托管在 GitHub 上面。对于 Python 2.6 以上的版本,因为标准库中已经包括了对
epoll
的支持,所以你可以不用
setup.py
编译安装,只要简单地将 tornado 的目录添加到
PYTHONPATH
就可以使用了。

安装需求

Tornado 在 Python 2.5, 2.6, 2.7 中都经过了测试。要使用 Tornado 的所有功能,你需要安装 PycURL (7.18.2 或更高版本) 以及 simplejson (仅适用于Python 2.5,2.6 以后的版本标准库当中已经包含了对 JSON 的支持)。为方便起见,下面将列出 Mac OS X 和 Ubuntu 中的完整安装方式:

Mac OS X 10.6 (Python 2.6+)

sudo easy_install setuptools pycurl
Ubuntu Linux (Python 2.6+)

sudo apt-get install python-pycurl
Ubuntu Linux (Python 2.5)

sudo apt-get install python-dev python-pycurl python-simplejson

Hello, world

以下是经典的 "Hello, world" 示例:

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")

application = tornado.web.Application([
(r"/", MainHandler),
])

if __name__ == "__main__":
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()
请参见 Tornado 文档 以详细了解该 Web 框架。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: