环境:
debian8
apache2.4.10 #请注意自己的apache版本,不同版本配置文件结构差异很大
django1.10
python3.4
默认apache2已经安装
Django项目路径 /var/www/mysite
---------------------------------------------------------------------------------------------------
首先安装MOD_WSGI
apt-get install libapache2-mod-wsgi-py3 #python3 apt-get install libapache2-mod-wsgi #python2
创建django项目
cd /var/www django-admin startproject mysite cd mysite mkdir static cp -R /usr/local/lib/python3./dist-packages/django/contrib/admin/static/* ./static/ #复制后台样式文件到项目目录
创建虚拟主机配置文件
cd /etc/apache2/sites-enabled/ cp -default.conf -default.conf nano -default.conf
<VirtualHost *:> ServerAdmin webmaster@localhost
DocumentRoot /var/www/mysite ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined # 存放用户上传图片等文件的位置
Alias /media/ /var/www/mysite/media/ # 静态文件(js/css/images)的存放位置
Alias /static/ /var/www/mysite/static/ # 允许通过网络获取static的内容
<Directory /var/www/mysite/static/>
Require all granted
</Directory> # 最重要的!通过wsgi.py让Apache识别这是一个Django工程,别漏掉前边的 /
WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py
# wsgi.py文件的父级目录
<Directory /var/www/mysite/mysite/>
<Files wsgi.py>
Require all granted
</Files>
</Directory> </VirtualHost> # vim: syntax=apache ts= sw= sts= sr noet
编辑 /etc/apache2/ports.conf 添加一行 Listen 81 #监听81端口,就是我们新建的虚拟主机
编辑 /etc/apache2/mods-enabled/wsgi.load
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so-3.4 #python3 LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so #python2
编辑 /etc/apache2/mods-enabled/wsgi.conf
添加一行 WSGIPythonPath /var/www/mysite #项目所在路径
这个时候就差不多了可以 service apache2 start
访问:127.0.0.1:81
It worked!
Congratulations on your first Django-powered page.
访问:127.0.0.1:81/admin 会报错
初始化数据库文件
manage.py migrate
OK!
如果是在虚拟机或远程主机部署别忘了在settings.py中修改ALLOWED_HOSTS = [],添加可访问域名或IP列表
CentOS可以参考http://www.cnblogs.com/starof/p/4685132.html