利用WSGI来部署你的网站

利用WSGI来部署你的网站#

当需要部署你的django项目的时候,可以使用apache+python来部署访问你的网站。

由于网上的有关的都是老版本的。所以这里使用apache2.4python3.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中利用模块化的配置文件方法,可以很方便地使用, 更加灵活方便了。

原文地址:https://www.cnblogs.com/wenning/p/5404615.html