Tornado 是一个基于Python的Web服务框架和异步网络库, 最早开发与 FriendFeed 公司. 通过利用非阻塞网络 I/O, Tornado可以承载成千上万的活动连接, 完美的实现了长连接,WebSockets,和其他对于每一位用户来说需要长连接的程序.

快速链接¶

Hello, world¶

这是一个基于Tornado的简易 “Hello, world” web应用程序:

  1. import tornado.ioloop
  2. import tornado.web
  3.  
  4. class MainHandler(tornado.web.RequestHandler):
  5. def get(self):
  6. self.write("Hello, world")
  7.  
  8. def make_app():
  9. return tornado.web.Application([
  10. (r"/", MainHandler),
  11. ])
  12.  
  13. if __name__ == "__main__":
  14. app = make_app()
  15. app.listen(8888)
  16. tornado.ioloop.IOLoop.current().start()

这个例子没有用到任何Tornado的异步特性;如果有需要请查看这个例子 简易聊天室.

安装¶

自动安装:

  1. pip install tornado

Tornado 可以在 PyPI 中被找到.而且可以通过 pip 或者 ``easy_install``来安装.注意这样安装Tornado可能不会包含源代码中的示例程序, 所以你或许会需要一份软件的源代码.

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

  1. tar xvzf tornado-release.tar.gz
  2. cd tornado-release
  3. python setup.py build
  4. 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.

中文文档由 我是黑夜 翻译完成.译文版权归原作者和译者所有.

原文:

https://tornado-zh-cn.readthedocs.io/zh_CN/latest/