在web服务器的协议中,wsgi可以实现与服务器的连接,我们可以把它看成是通信的一种桥梁。那么在Django中要想使用wsgi模块,是需要手动的在框架中国进行安装和配置的。不过鉴于很多人对wsgi理解的不是很多,我们带来了简单的说明,然后就具体的配置实例在下面展开。
1、WSGI介绍
Python Web Server Gateway Interface,翻译过来时Python web服务器网关接口,实际上就是一种协议,我们的应用(Django,Flask)实现了WSGI,就可以配合实现了WSGI(uWSGI,gunicorn)的服务器工作了。
2、配置实例
操作思路
安装 wsgi 模块
配置一个简单的虚拟主机
具体步骤
安装 mod_wsgi
我为了省事,采用源安装,如果需要3.4版本,可以采用源码安装,参考这里。
wsgi主站
编译安装wsgi
$ sudo apt-get install libapache2-mod-wsgi #安装 mod_wsgi
$ sudo dpkg -l libapache2-mod-wsgi #查看wsgi的版本
结果: libapache2-mod 3.3-4build1
$ a2enmod wsgi #验证模块安装正常
Module wsgi already enabled
验证 wsgi
为了验证wsgi的正常使用,准备手工建一个最简单的wsgi应用,实际就是一个py脚本。
在 /var/www/目录下,建立一个名为 main.wsgi 文件,内容如下:
def application(environ, start_response):
status = '200 OK'
output = 'Hello World!\n试试中文'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
在 /etc/apache2/sites-available/firstdj 中增加一行,同时可以取消 DocumentRoot 配置,修改后内容如下:
<VirtualHost *:80>
ServerName firstdj
WSGIScriptAlias / /var/www/main.wsgi
</VirtualHost>
应用配置
$ sudo service apache2 reload
现在刷新 http://firstdj 能够返回
Hello World!
说明 wsgi 解析正常
以上就是wsgi模块在Django中配置的方法,安装和配置完成后,我们可以就web和Django框架进行有关的连接操作,大家看懂后就可以动手尝试啦。
查看更多关于wsgi模块在Django中配置的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did182340