利用WSGI来部署你的网站#
当需要部署你的django项目的时候,可以使用apache+python来部署访问你的网站。
由于网上的有关的都是老版本的。所以这里使用apache2.4和python3.4来做示范。
默认已经安装好了apache2.4 和 python3了。
1.准备好你的网站。##
这里我新建一个空的网站。
django-admin startproject mysite
django框架已经为你做好了一切包括wsgi.py已经创建好了。
2.安装mod_wsgi.so##
从官方文档下载了源码后,根据提示一步一步做就行了。
需要注意的是:
- 需要事先安装apxs
- 如果使用的是python3, 那么需要制定python3的路径(系统默认python2的情况下)
- apache2.4更新了传统的配置,所以在加载模块的时候最好不要直接在apache2.conf中添加。
3.添加mod_wsgi.so##
经过上面的步骤,你应该能在/usr/lib/apache2/modules下面看到mod_wsgi.so这个文件了。
如果在apach2.4以前,只需要在配置文件中添加下面代码就可以了。
LoadModule wsgi_module modules/mod_wsgi.so
但是在apache2.4中,已经将原来的一个配置文件细分成了多个。这个具体可以参考官方文档
所以我们要在 /etc/apache2/mods-available下面添加一个文件:wsgi.load, 然后在里面写上:
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
然后在mods-enabled中添加上述文件的软连接
也可以在终端中输入一下命令:
a2enmod wsgi
这样重启apache之后就可以了。
4.配置你的apache##
在conf-available中添加一个新的文件:mysite.conf
WSGIScriptAlias / /home/wenning/mysite/mysite/wsgi.py
WSGIPythonPath /home/wenning/mysite/mysite
<Directory /home/wenning/mysite/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
同理,要启用这个配置需要:
a2enconf mysite
重启后就可以了使用了。
最后##
在浏览起中打开就可以看到效果了。
可以看到apache2.4中利用模块化的配置文件方法,可以很方便地使用, 更加灵活方便了。