本文主要介绍如何在虚拟机Ubuntu/VMware上部署简单的WSGI应用。
在前几次的python学习中,我们了解到浏览器到服务器之间的请求与响应过程如下:
??
我们在前几次的python学习中了解到,浏览器以Http协议发送信息到服务器中,由于Django不认识Http需要runserver来解析Http为Django认识的WSGI,再运用至路由、视图及模板中;这里返回时,是从视图返回到runserver处时又将WSGI转换为Http发送至浏览器。这里的“runserver”起到一个“翻译官”的作用,使浏览器与服务器之间能够正常通信。而这一次我们使用Uwsgi替代本地的runserver,其作用也可将http解析为django认识的wsgi。
1.Uwsgi的安装和配置
# 查看 Uwsgi 是否安装
sudo pip3 freeze|grep -i 'uwsgi'
# 安装 Uwsgi
# 对于 Python3.x 版本
# 第一步:
sudo apt-get install python3-dev
# 第二步:
sudo apt-get install python3-pip
# 第三步:
sudo pip3 install uwsgi
2.第一个WSGI应用
? ?将Uwsgi安装并配置好后,进行一个简单的测试,先新建一个test.py文件;
sudo gedit test.py
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello uwsgi!"]
? ?接着Uwsgi运行该文件;
uwsgi --http-socket :8989 --wsgi-file test.py
? ?在虚拟机上打开浏览器访问:http://127.0.0.1:8989/;
? ? ? ? ? ? ? ??
? ?外网访问:输入ip addr,可以得到两个ip,一个是在虚拟机上进行访问的(即127.0.0.1),另一个可进行外网访问的(即192.168.1.205)。
? ? ? ? ? ? ? ?
? ? ? ? ? ? ??
|