Tornado 是一个基于Python的Web服务框架和异步网络库, 最早开发与 FriendFeed 公司. 通过利用非阻塞网络 I/O, Tornado可以承载成千上万的活动连接, 完美的实现了长连接,WebSockets,和其他对于每一位用户来说需要长连接的程序.
快速链接¶
- 下载版本4.4: tornado-4.4.dev1.tar.gz (发布说明)
- Source (github)
- 邮件列表: discussion 和 announcements
- Stack Overflow
- Wiki
Hello, world¶
这是一个基于Tornado的简易 “Hello, world” web应用程序:
- import tornado.ioloop
- import tornado.web
- class MainHandler(tornado.web.RequestHandler):
- def get(self):
- self.write("Hello, world")
- def make_app():
- return tornado.web.Application([
- (r"/", MainHandler),
- ])
- if __name__ == "__main__":
- app = make_app()
- app.listen(8888)
- tornado.ioloop.IOLoop.current().start()
这个例子没有用到任何Tornado的异步特性;如果有需要请查看这个例子 简易聊天室.
安装¶
自动安装:
- pip install tornado
Tornado 可以在 PyPI 中被找到.而且可以通过 pip
或者 ``easy_install``来安装.注意这样安装Tornado可能不会包含源代码中的示例程序, 所以你或许会需要一份软件的源代码.
手动安装: 下载 tornado-4.4.dev1.tar.gz.
- tar xvzf tornado-release.tar.gz
- cd tornado-release
- python setup.py build
- sudo python setup.py install
Tornado源代码 被托管在的 GitHub.
环境要求: Tornado 4.3 可以运行在 Python 2.7, 和 3.3+对于 Python 2, 版本 2.7.9 以上是被 强烈推荐的由于这些版本提供了SSL. 除了在 pip
或者 setup.py install
中安装的依赖需求包之外, 以下包有可能会被用到:
- concurrent.futures is therecommended thread pool for use with Tornado and enables the use ofThreadedResolver. It is needed only on Python 2;Python 3 includes this package in the standard library.
- pycurl is used by the optionaltornado.curl_httpclient. Libcurl version 7.19.3.1 or higher is required;version 7.21.1 or higher is recommended.
- Twisted may be used with the classes intornado.platform.twisted.
- pycares is an alternativenon-blocking DNS resolver that can be used when threads are notappropriate.
- Monotime adds support fora monotonic clock, which improves reliability in environmentswhere clock adjustments are frequent. No longer needed in Python 3.3.
- monotonic adds support fora monotonic clock. Alternative to Monotime. No longer needed in Python 3.3.
平台: Tornado 应该运行在类 Unix 平台, 对于Linux (通过epoll
) 和BSD (通过kqueue
) 可以获得更好的性能和可扩展性, 但我们仅推荐它们来不熟产品(虽然 Mac OS X 也是基于 BSD 的,并且也支持 kqueue, 但是它的网络性能十分的差所以我们只推荐用它来进行开发). Tornado 也可以运行在 Windows 上,虽然这并不是官方所推荐的, 我们仅仅推荐用它来做开发.
文档¶
这篇文档同时还有 PDF 和 Epub 格式.
讨论和支持¶
你可以在 Tornado 开发人员邮件列表中对 Tornado 进行讨论, 并且可以在 GitHub 问题跟踪中汇报问题. 其他的资源可以在 Tornado wiki中找到. 新版本通知在 通知邮件列表.
Tornado 遵循 Apache License, Version 2.0.
本网页和所有的文档都遵循 CreativeCommons 3.0.
中文文档由 我是黑夜 翻译完成.译文版权归原作者和译者所有.
原文: