网上教程复杂,还是官方的教程简单,简单多了。
1. 安装modwsgi
sudo apt-get install libapache2-mod-wsgi
2. wsgi配置
假设django project mysite目录如下:
mysite/
manage.py
static
mysite/
__init__.py
settings.py
urls.py
wsgi.py
ubuntu apache没有httpd.conf文件,可以直接在/etc/apache/apache.conf文件里加入下面的配置:
WSGIScriptAlias / /home/ubuntu/mysite/mysite/wsgi.py
WSGIPythonPath /home/ubuntu/mysite
<Directory /home/ubuntu/mysite/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
对于apache version<2.4的,Require all granted换成
Order deny,allow
Allow from all
然后重启apache就行了:
service apache2 restart
3. 无法加载css和图片,配置静态文件路径
当打开浏览器访问网站时,你会发现网站的css和图片没有加载,这是因为网站的静态文件路径没有在Apache中配置:
(Django网站静态文件在settings里面设置的:STATIC_URL=’/static/’,不同项目静态文件名和文件路径不同)
Alias /static/ /home/ubuntu/mysite/static/
<Directory /home/ubuntu/mysite/static>
Require all granted
</Directory>
这样就可以成功加载出css和图片文件了。
4. Reference
https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/modwsgi/