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

通过前面的两篇:

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

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

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

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

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

请注意自己的Python版本,py2和py3返回的 response body是不一样的,详情情参考前面的一篇文章。这篇文章默认使用 Python3。

安装必要的环境和依赖:

apt-get install build-essential python-dev -y
pip3 install uwsgi
复制代码

运行下面这个命令:

uwsgi --http :9090 --wsgi-file app.py
复制代码

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

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

sudo iptables -A INPUT -p tcp --dport 9090 -j ACCEPT
iptables-save
复制代码

访问这个地址:lcj.im:9090/,可以看到输出的 hello world 了。

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

如果你像我一样真正热爱计算机科学,喜欢研究底层逻辑,欢迎关注我的微信公众号:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值