Python web 开发:一个3行代码的wsgi app

咱们已经知道咱们平时开发的 django、flask 等 python web 项目本质上就是一个接收特定参数,完成业务逻辑,而后返回数据的可调用对象。wsgi ref一个很重要的初衷,就是经过直到规范的 API,将 app 和 server解耦,提供给开发者更加丰富的选择。html

这篇文章将实战用 uwsgi server部署一个简单的 app。这个 app 简单得不能再简单,可是可以让你更好地理解 python web app 的本质。python

你妹有看错,这个 app 的代码(app.py)一共只有3行:web

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return ["Hello World".encode('utf-8')]

如下的大多数内容都来自于 uwsgi 官方文档django

请注意本身的Python版本,py2和py3返回的 response body是不同的,详情情参考前面的一篇文章。这篇文章默认使用 Python3。你们在学python的时候确定会遇到不少难题,以及对于新技术的追求,这里推荐一下咱们的Python学习扣qun:784,758,214,这里是python学习者汇集地flask

安装必要的环境和依赖:服务器

apt-get install build-essential python-dev -y
pip3 install uwsgi

运行下面这个命令:app

uwsgi --http :9090 --wsgi-file app.py

这会在9090端口起一个 http server。框架

而后把服务器的9090端口开放:tcp

sudo iptables -A INPUT -p tcp --dport 9090 -j ACCEPT
iptables-save

访问这个地址:lcj.im:9090/,能够看到输出的 hello world 了。学习

固然生产环境不可能这么简陋啦,比这个要复杂不少。可是这个简单的例子,可以让你看清 python web app 的本质,让你对 django、flask 这些 web 框架有一个更全面的认识。

相关文章
相关标签/搜索