红联Linux门户
Linux帮助

Apache2部署django网站

发布时间:2015-12-14 15:09:51来源:linux网站作者:西安气象爱好者

需要安装apache2以及apache2的mod_wsgi模块,apache2安装配置略去。

在ubuntu系统下很容易,安装

sudo apt-get install libapache2-mod-wsgi

如果是python3,安装 libapache2-mod-wsgi-py3 即可


django使用的版本是1.8.2,项目建立后在项目目录中自动生成了wsgi.py文件。手动进行了一点修改,修改后:

import os
import sys
from django.core.wsgi import get_wsgi_application
PROJECT_DIR = os.path.dirname(os.path.dirname(__file__))
if PROJECT_DIR not in sys.path:
sys.path.insert(0, PROJECT_DIR)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "site5.settings")
application = get_wsgi_application()


接下来在 /etc/apache2/sites-available/  目录下创建站点的配置文件,比如说命名为site.conf 内容如下:
<VirtualHost *:80>
ServerName site.me
ServerAlias www.site.me
ServerAdmin aeropig@163.com
<Directory /home/td/Django/site5>
Require all granted
</Directory>
WSGIScriptAlias / /home/td/Django/site5/site5/wsgi.py
<Directory /home/td/Django/site5/site5>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>


再在/etc/hosts中添加一行内容,设置

127.0.0.1         site.me

最后进行apache2的相关设置

sudo a2ensite site.conf
sudo service apache2 reload


接下来在浏览器地址栏中输入 site.me 就可以看到django站点的页面

Apache2部署django网站


这样设置之后还是有些问题,比如访问http://site.me/admin 会发现css无法加载,需要设置两处地方。在django项目的settings.py里面,设置 STATIC_ROOT

STATIC_URL = '/static/'
STATIC_ROOT = '/home/td/Django/site5/static'

static_root 就是要设置的admin页面css目录


设置后用命令

python manage.py collectstatic

就可以把相应的css文件拷贝到上面设置的目录中

最后在apache2中设置对应的目录即可


/etc/apache2/sites-available/site.conf  (就是上文建立的文件) 添加内容,添加后:

<VirtualHost *:80>
ServerName site.me
ServerAlias www.site.me
ServerAdmin aeropig@163.com
<Directory /home/td/Django/site5>
Require all granted
</Directory>
WSGIScriptAlias / /home/td/Django/site5/site5/wsgi.py
<Directory /home/td/Django/site5/site5>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
Alias /media/ /home/td/Django/site5/media/
Alias /static/ /home/td/Django/site5/static/
<Directory /home/td/Django/site5/static>
Require all granted
</Directory>
<Directory /home/td/Django/site5/media>
Require all granted
</Directory>
</VirtualHost>


django搭建论坛之一环境配置:http://www.linuxdiyf.com/linux/14368.html

CentOS6设置Django开发环境:http://www.linuxdiyf.com/linux/13823.html

Django快速上手(一):http://www.linuxdiyf.com/linux/13784.html

Ununtu 15.04安装MySql(Django连接Mysql):http://www.linuxdiyf.com/linux/13783.html

Ubuntu下搭建Django开发环境:http://www.linuxdiyf.com/linux/11849.html