tornado是使用Python开发的全栈式(full-stack)Web框架和异步网络库,最早由Friendfeed开发。通过使用非阻塞IO,Tornado可以处理数以万计的开放连接,是long polling、WebSockets和其他需要为用户保护长连接利用的理想选择。
tornado 跟其他主流的Web服务器框架(主要是Python框架)不同是采取epoll非阻塞IO,响应快速,可处理数千并发连接,特别适用用于实时的Web服务。Tornado 主要分成4个部份:
Web 框架(包括 RequestHandler,用于创建Web程序的基类,和各种支持类)
实现 HTTP 的客户端和服务器端 (HTTPServer 和 AsyncHTTPClient).
1个异步网络库 (IOLoop 和 IOStream)
1个协程库(tornado.gen) ,使得异步调用代码能够以更直接的方式书写,取代回调链接
1个最简单的Web服务:
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()
下面讲如何在RHEL6.4上安装tornado。我使用的是Python2.6.6版本。
1) 首先下载tornado⑷.1.tar.gz:
https://pypi.python.org/packages/source/t/tornado/tornado⑷.1.tar.gz
2) 解压后安装:
# tar -zxvf tornado⑷.1.tar.gz
# cd tornado⑷.1
# yum install gcc python-devel
# python2.6 setup.py build
# python2.6 setup.py install
3) 测试上面的例子
# python2.6
>>> import tornado.ioloop
>>> import tornado.web
正确!