raspberry pi搭建python web server

基于python的web server有很多,比如:django、web.py、tornado、fastcgi等。经过一番比较我选择使用tornado,使用tornado的原因有如下几个:1、tornado是轻量级的web server,2、异步I/O处理连接请求,3、tornado是facebook开源项目之一。由于我的raspberry pi使用的是raspbian操作系统,而raspbian操作系统源上有python-tornado和python3-tornado二进制包,所以直接使用命令$sudo apt-get install python3-tornado python-tornado完成安装。完成安装后使用tornado官方网站上提供的测试代码来测试web服务器是否好用。测试代码如下:

#!/usr/bin/env python3

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self, name):
        self.write("Hello, world")

application = tornado.web.Application([
    (r"/(.*)", MainHandler),
])

if __name__ == "__main__":
    application.listen(9090)
    tornado.ioloop.IOLoop.instance().start()

其中web服务器监听端口是9090,所有的web请求由MainHandler类进行处理。在MainHandler类中包含一个get()方法,在该方法中向发出请求的web客户端输出"Hello,world"字符串。

在raspberry pi上运行该python脚本,之后通过命令netstat查看当前系统的监听端口,发现9090端口被监听。

pi@raspberrypi :~/test$ netstat -ltn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:9090            0.0.0.0:*               LISTEN    

此时,在PC机上使用浏览器访问raspberry pi上的9090端口,就可以得到"Hello,world"字符串显示在浏览器页面中。


你可能感兴趣的:(python,tornado,pi,raspberry)