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