01-tornado练习-tornado简介
# coding = utf-8
"""
启动一个tornado的web服务
"""
import tornado.web
from tornado.options import define, options
# 定义tornado.options能够从命令行中读取的命令
# 此处定义一个port,默认值为8000,使用options.port命令则向程序传入一个int数值8000
define('port', default=8000, help='run on 8000 port')
# 定义一个version命令,使用options.verson,则给程序传入一个字符串
define('version', default='version0.0.1', help='the first version')
class IndexHandler(tornado.web.RequestHandler):
"""
处理逻辑。定义响应HTTP请求的内容,此处只定义了一个最简单的GET,
即客户端向服务器发出get请求时,服务器的给出get函数下的内容作为响应
此处响应的内容为:给请求写回一个OK
"""
def get(self):
self.write('ok')
if __name__ == '__main__':
# 解析命令行,让tornado能够解析命令行参数
tornado.options.parse_command_line()
# 实例化一个tornado的web应用程序
app = tornado.web.Application(
handlers=[
(r'/', IndexHandler), # 请求地址及对应的处理逻辑
],
template_path='templates', # 指定应用中模板文件放置的位置
static_path='static', # 指定应用中静态文件放置的位置
)
http_server = tornado.httpserver.HTTPServer(app) # 给实例的web应用绑定http通信相关内容
http_server.listen(options.port) # 指定http监听端口
tornado.ioloop.IOLoop.instance().start() # 使用ioloop开启tornado服务,并循环监听HTTP请求