一、认识Tornado框架
tornado是一个由Python开发的Web服务器和Web服务框架;
在web开发中,浏览器其实就是一个socket客户端,而web应用其实就是一个socket服务端,并且web应用在服务器上一直在监听某个端口;当浏览器请求某个web应用时,需要指定服务器的IP(DNS解析)和端口建立一个socket连接,本地开发过程中IP地址为127.0.0.1,而端口可以自己选择,在端口选择是最好要选择端口号大于1024的端口;建立链接后,web应用根据请求的不同,给用户返回相应的数据;断开socket连接。(http是短链接,在它每次请求完成后,服务器就会断开socket连接)
对于Web框架来说,一般分为两类,其中一类则是包含上述 4部分 内容的框架,另外一类就是只包含 第3部分 功能的框架。tornado框架为前者,tornado框架采用了非阻塞的方式和对epoll的应用。所以对于实时 Web 服务来说,Tornado 是一个理想的 Web 框架。
tornado简单应用实例
代码:
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write('首页')
# self.write_error(500)
# self.set_status(500)
#路由监听
def make_app():
return tornado.web.Application([
(r"/",MainHandler),
],
debug=True,
)
if __name__ == '__main__':
app = make_app()
#监听端口(这里用来设置监听的端口号)
app.listen(8000)
#启动tornado
tornado.ioloop.IOLoop.current().start()
二、可能出现的简单问题
点击运行程序之后打开浏览器,输入loaclhost:8000或者127.0.0.1:8000就可以访问到该页面。在使用虚拟机的情况下可能会访问不到该网页,一般来说我们使用的虚拟机主要有VMware和VirtualBox可以分成两种情况:
对于VMware来说VMware采用的是桥接的网络方式,在进行web应用请求时输入虚拟机的IP地址(查看虚拟机的地址在终端输入 ifconfig指令即可);
对VirtualBox来说可能出现的问题是未进行端口转发,VirtualBox与VMware不同需要自己手动进行端口转发,将虚拟机的端口与你的主机的端口进行绑定,当你访问主机的端口时就可以访问对应的虚拟机的端口。具体的转发自行百度这里就不多说。