Python & PyCharm & Django 搭建web开发环境(续)

因为Django自带轻量级的server,所以在前篇博文中,默认使用该server,但实际生产中是不容许这么干的,生产环境中一般使用Apache Httpd Server结合mod_wsgi.so来作后端服务器。
 
如下部署环境为:Python2.7.6
一、安装httpd-2.2.25-win32-x86-no_ssl.msi
二、将下载好的mod_wsgi.so 放在 D:\Program Files\Apache Software Foundation\Apache2.2\modules 模块下。
三、在新建的web工程 MyDjangoProject目录下新建 django.wsgi文件
内容以下(相应的目录须要修改):
 1  
 2 import os
 3 import sys
 4  
 5 djangopath = "D:/Python27/Lib/site-packages/django/bin"
 6 if djangopath not in sys.path:
 7     sys.path.append(djangopath)
 8  
 9 projectpath = 'D:/workspace/MyDjangoProject'
10 if projectpath not in sys.path:
11     sys.path.append(projectpath)
12  
13 apppath = 'D:/workspace/MyDjangoProject/MyDjangoProject'
14 if apppath not in sys.path:
15     sys.path.append(apppath)
16 os.environ['DJANGO_SETTINGS_MODULE']='MyDjangoProject.settings'
17  
18 from django.core.wsgi import get_wsgi_application
19 application = get_wsgi_application()

 

四、修改httpd.conf ,添加以下:
1 LoadModule wsgi_module modules/mod_wsgi.so
2 WSGIScriptAlias / "D:/workspace/MyDjangoProject/django.wsgi"
3 <Directory "D:/workspace/MyDjangoProject/">
4     Options FollowSymLinks
5     AllowOverride None
6     Order deny,allow
7     Allow from all
8 </Directory>
ok,重启server,页面正常了。
在部署的过程当中,遇到一个异常,以下:
1 The translation infrastructure cannot be initialized before the apps registry is ready
缘由是django.wsgi一开始按照较为古老的写法,改成新版本的写法就Ok了。
相关文章
相关标签/搜索