tornado 认识-环境搭建 【1】
什么是tornado?
Tornado是使用Python编写的一个强大的、可扩展的Web服务器。它在处理严峻的网络流量时表现得足够强健,但却在创建和编写时有着足够的轻量级,并能够被用在大量的应用和工具中。
我们现在所知道的Tornado是基于Bret
Taylor和其他人员为FriendFeed所开发的网络服务框架,当FriendFeed被Facebook收购后得以开源。不同于那些最多只能达到10,000个并发连接的传统网络服务器,Tornado在设计之初就考虑到了性能因素,旨在解决C10K问题,这样的设计使得其成为一个拥有非常高性能的框架。此外,它还拥有处理安全性、用户验证、社交网络以及与外部服务(如数据库和网站API)进行异步交互的工具。自从2009年9月10日发布以来,TornadoTornado已经获得了很多社区的支持,并且在一系列不同的场合得到应用。除FriendFeed和Facebook外,还有很多公司在生产上转向Tornado,包括Quora、Turntable.fm、Bit.ly、Hipmunk以及MyYearbook等。
总之,如果你在寻找你那庞大的CMS或一体化开发框架的替代品,Tornado可能并不是一个好的选择。Tornado并不需要你拥有庞大的模型建立特殊的方式,或以某种确定的形式处理表单,或其他类似的事情。它所做的是让你能够快速简单地编写高速的Web应用。
特点
Python Web 框架有三 Django、Flask、Tornado 其中 Tornado 是唯一一个异步框架.
- 高性能
- 轻量级
- 负载能力强
- 异步非阻塞I/O
tornado环境搭建-windows
- 下载安装tornado
https://pypi.org/project/tornado/#modal-close
在tornado目录下
python setup.py install
或者直接用pip安装
pip install tornado
测试代码
打开python IDE编辑如下代码且运行
import tornado.web # web框架模块
import tornado.ioloop # 核心IO循环模块,封装了linux的epoll和BSD的kqueue,是tornado高效的基础
# 业务处理类
class IndexHandler(tornado.web.RequestHandler):
# 处理get请求,不能处理post请求
def get(self):
# 对应http请求方法
# 给浏览器响应信息
self.write("Hello Python!")
if __name__=="__main__":
# 实例化一个app对象
# Application: tornado.web框架的核心应用类.是与服务器对应的接口
# 里面保存了路由映射表,有一个listen方法用来创建一个http服务器的实例绑定了端口
app = tornado.web.Application([
(r"/",IndexHandler)
])
'''
IOLoop.current() 返回当前线程的IOLoop实例
IOLoop.start() 启动IOLoop实例的I/O循环,开启监听
'''
app.listen(8888) #端口号8888
'''
HttpServer = tornado.httpserver.HTTPServer(app)
httpServer.bind(8888)
httpServer.start(5) # 默认开启1个线程
HttpServer = tornado.httpserver.HTTPServer(app)
httpServer.listen(8888)
'''
tornado.ioloop.IOLoop.current().start()
查看本机ip 这里
这里是 100.71.10.140:8888