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 框架有一個更全面的認識。

相關文章
相關標籤/搜索