虽然,在Django项目中,内置了web服务器。利用manage.py runserver即可运行。
但是,当项目规模一旦加大,内置的服务器显然是不能够满足实际需要的。需要利用Apache服务器。
首先,需要下载mod_wsgi.so放入apache的module目录下。mod_wsgi的下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
然后,再在项目中新建django.wsgi文件,写入(有些参数自己根据实际情况修改):
import os, sys
import django.core.handlers.wsgi
sys.path.append('f:/WebWorkspace/EasyBugSolution/EasyBugSolution1')
os.environ['DJANGO_SETTINGS_MODULE'] = 'EasyBugSolution1.settings'
application = django.core.handlers.wsgi.WSGIHandler()
然后,再在apache的httpd.conf中加入:
LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias / "F:/WebWorkspace/EasyBugSolution/EasyBugSolution1/django.wsgi"
最后,新建虚拟主机:
<VirtualHost *:8080>
DocumentRoot "f:/WebWorkspace/EasyBugSolution/EasyBugSolution1"
ServerName .local
# This should be omitted in the production environment
SetEnv APPLICATION_ENV development
<Directory "f:/WebWorkspace/EasyBugSolution/EasyBugSolution1">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
并将http.conf中<Directory>下的:
#Order deny,allow
#Deny from All
如此注释掉即可。
PS:
切莫在64位的系统上装32位的apache+64位python解释器,不然你就不知道是选32位的mod_wsgi还是64位的mod_wsgi。事实证明,会两种都无法无法加载。
我就是这样的,后来把apache和python统一为32位后才成功。