本文介绍一下在Centos 7.0中,在Apache上面部署Django工程的方法。假设你已经安装了Apache和Django,并且有一个完整的Django工程。本文基于的环境配置为:Centos 7.0+Apache 2.4.6+Django 1.8。
Apache配置
在Centos中Apache的配置文件为:/etc/httpd/conf/httpd.conf
,打开文件添加如下内容:
Alias /static/ /path/to/mysite/static/
<VirtualHost *:8000>
ServerName localhost:8000
DocumentRoot /var/www/html
WSGIDaemonProcess mysite processes=2 threads=250 display-name=mysite_daemon
WSGIProcessGroup mysite
WSGIScriptAlias / /path/to/mysite/mysite/wsgi.py
<Directory /path/to/mysite/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
很简单,不做太多说明。需要注意几点:
/path/to/mysite/
是Django工程的路径- WSGIDaemonProcess和WSGIProcessGroup的名字要一致
- 一定要设置静态文件路径
修改wsgi.py文件
上面如果写了 WSGIDaemonProcess 的话,这一步可以跳过,即可以不修改 wsgi.py 文件。
上面的配置文件中写的WSGIScriptAlias / /path/to/mysite/mysite/wsgi.py
就把Apache和你的Django工程联系起来。
其中sys.path.insert(0, BASE_DIR)
的作用是让脚本找到Django工程的位置,也可以在httpd.conf文件中用WSGIPythonPath来配置。
重启Apache之后,就可以通过Apache访问Django工程了。
部署时文件的相互联系:httpd.conf --> wsgi.py --> settings.py --> urls.py --> views.py