一、环境准备:
1.主要软件版本:
--Windows Server 2012 x64
--[Apache Lounge Distribution Apache 2.4.23 win64 VC10](http://www.apachelounge.com)
--Python 3.4.2 MSC1600 该版本是用VC10编译的
--mod_wsgi-py34-VC10.so
--Django(1.10.6)及其他的第三方库
注意:上述软件版本必须都是64位,且用VC10(visual sudio 2010)编译。
2.软件安装
--安装Python,Django和第三方库,配置好环境变量,即把相关路径在环境变量中设置PYTHONPATH。
--安装Apache并配置,httpd.conf文件
ServerName localhost:88
ServerRoot "c:/Apache24" #我的安装位置
Listen 88 #避免与其他已使用端口相同
-- 通过‘C:\Apache24\bin\httpd.exe’启动服务,打开网站,显示“It works!”,则表示Apache基本配置完成。
--下载mod_wsgi.so文件(比较难找,一定要兼容的版本,如果安装更高级的Python版本,则要自行编译)拷贝到Apache/modules文件夹下,并在httpd.conf文件中加载:
LoadModule wsgi_module modules/mod_wsgi.so #注意mod_wsgi应与实际文件名一致
二、Django部署
1.部署准备
--在settings.py中关闭DEBUG
DEBUG=False
TEMPLATE_DEBUG=False
ALLOWED_HOSTS= ['xx.xx.xx.xx'] #配置主机ip
--在settings.py中配置生产端数据库
DATABASES= {'default':
{'ENGINE':'django.db.backends.mysql',
'NAME':'xxx',#数据库名称'
USER':'xxx',#用户名
'PASSWORD':'xxx', #密码
'HOST':'127.0.0.1', #数据库主机ip,如为本机,则填'127.0.0.1
''PORT':'3306',} #服务器端口
}
--wsgi文件,新版本wsgi文件在新建Django工程时自动建立,基本不用动
import os,sys
from django.core.wsgi import get_wsgi_applicationsys.path.append('C:/Apache24/htdocs/mysite') #如提示无法导入wsgi,可增加此路径os.environ.setdefault("DJANGO_SETTINGS_MODULE","mysite.settings")application=get_wsgi_application()
在settings.py中修改template文件夹地址
TEMPLATES= [
{'BACKEND':'django.template.backends.django.DjangoTemplates',
'DIRS': ["C:/Apache24/htdocs/mysite/myTemplate",], #设置生产端的TEMPLATES地址#以下省略...
},]
2.将已开发完成的Django项目文件夹拷贝到“C:\Apache24\htdocs”中,并在httpd.conf文件中完成配置
WSGIScriptAlias / C:/Apache24/htdocs/mysite/mysite/wsgi.py #指定wsgi路径WSGIPythonPath C:/Apache24/htdocs/mysite #指定Django项目路径
<Directory C:/Apache24/htdocs/mysite/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
Alias /static/ C:/Apache24/htdocs/mysite/static/ #静态文件路径配置
<Directory C:/Apache24/htdocs/mysite/static>
AllowOverride None
Options None
Require all granted
</Directory>
3.到这里就配置完成了,启动服务,打开网站,就会显示你之前开发的Django网站。
如果出现异常,可以到‘C:\Apache24\logs\error.log’查看错误原因并逐一排查。