环境:win server 2003
版本:apache2.2 django1.3 python2.7 mod_wsgi.so
首先 安装apache2.2 python2.7 django1.3
然后下载 mod_wsgi.so (网上很多文章都是mod_python,但只支持到python2.5,现在停止更新了,所以我直接就用mod_wsgi)
把mod_wsgi.so拷贝到 apache目录下的 modules 下。
打开 httpd.conf文件:
更改Apache的httpd.conf(C:\Program Files\Apache Software Foundation\Apache2.2\conf目录下)配置文件:
(1)在配置文件中LoadModule的那一段,添加一行如下:
LoadModule wsgi_module modules/mod_wsgi.so
(2)然后再添加一行如下:
WSGIScriptAlias / "D:/WorkSpace/DjangoProject/FirstProject/django.wsgi"
#在apache服务器拥有多个虚拟机的情况下,可以将这句放到虚拟机<VirtualHost ></VirtualHost>里
注意上面的目录D:/WorkSpace/DjangoProject/FirstProject,这个就是您的工程的目录,需要根据的实际情况做修改, WSGIScriptAlias 有两个参数:(1)斜杠 / 表示访问路径为 “/ ” ,如:http://127.0.0.1:8080/,即根路径。
后面的django.wsgi这个文件是需要新建的,一般和项目放在一起,后面我再来说这个如何新建这个文件。
(3)找到Directory的配置区域,添加如下的一段配置
<Directory "D:/WorkSpace/DjangoProject/FirstProject">
Order Deny,Allow
Allow from all
</Directory>
注意,上面的目录,这个同上面的一样,是您的工程的目录,根据您的实际情况做修改。
新建一个wsgi文件:
在工程的目录下新建一个django.wsgi,用记事本打开,输入以下的内容并保存:
import os
import sys
import django.core.handlers.wsgi
sys.path.append(r'D:/WorkSpace/DjangoProject')
os.environ['DJANGO_SETTINGS_MODULE'] = 'FirstProject.settings'
application = django.core.handlers.wsgi.WSGIHandler()
解释一下第4、5两行:
第四行中的 D:/WorkSpace/DjangoProject 是您的工程目录D:/WorkSpace/DjangoProject/FirstProject 的上一层目录。根据您工程的目录情况做修改。
第五行 os.environ['DJANGO_SETTINGS_MODULE'] = 'FirstProject.settings' ,这个FirstProject.settings就是指您的工程目录下的setting文件,根据您的工程目录名称的不同需要做修改。
最后,这个django.wsgi文件名可以随便取,例如test.wsgi、app.wsgi等等,但是一定要与(2) 中的那行配置保持一致。如果您这里新建的文件名不是django.wsgi而是test.wsgi,那么(2) 中的那行配置就应该修改为:WSGIScriptAlias / "D:/WorkSpace/DjangoProject/FirstProject/django.wsgi"。
修改项目的setting.py文件:
找到您工程目录下的setting.py,对于我这里就是D:\WorkSpace\DjangoProject\FirstProject\setting.py。
修改为如下:
MEDIA_ROOT = 'D:/WorkSpace/DjangoProject/FirstProject '
STATIC_ROOT = 'D:/WorkSpace/DjangoProject/FirstProject '
TEMPLATE_DIRS =
(
"D:/WorkSpace/DjangoProject/FirstProject /templates ",
)
还有一处需要注意,就是ROOT_URLCONF这个设置,urls前面得名称需要跟你发布的目录名称一致。比如我这个就是FirstProject .ROOT_URLCONF= 'FirstProject .urls'
注意:
可能出现的问题:ViewDoesNotExist
这个原因在django.wsgi文件内有说明,
sys.path.append(r'D:/WorkSpace/DjangoProject'),缺少一个路径,就是项目本身的路径。应该加上
sys.path.append(r'D:/WorkSpace/DjangoProject/FirstProject ')
ok了!
更改Apache的httpd.conf(C:\Program Files\Apache Software Foundation\Apache2.2\conf目录下)配置文件: MEDIA_ROOT = 'D:/WorkSpace/DjangoProject/FirstProject ' STATIC_ROOT = 'D:/WorkSpace/DjangoProject/FirstProject ' TEMPLATE_DIRS =
(
"D:/WorkSpace/DjangoProject/FirstProject /templates ", sys.path.append(r'D:/WorkSpace/DjangoProject'),缺少一个路径,就是项目本身的路径。应该加上 sys.path.append(r'D:/WorkSpace/DjangoProject/FirstProject ')
ok了!
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com