Django项目部署在Apache遇到的问题及解决思路

本文分享了作者在Windows XP环境下使用Apache部署Django项目的全过程。从安装mod_python到配置httpd.conf,再到解决部署过程中遇到的各种问题,如URL不存在、资源Forbidden等。适合初学者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近学习Django框架,照着资料作了一个小web程序。做完了就该部署,怎么说都应该把流程走一遍。我选择在windowsXp+Apache的环境,也是按照网上的资料,我的python是2.5的,Apache是2.2的,所以下载mod_python-3.3.1.win32-py2.5-Apache2.2.exe。安装一定要正确,我开始用wamp提供的apache套件,结果mod_python就装不上。我也没有心情去磨这个问题了,就干脆下了个纯的Apache安装包。才把mod_python+apache环境搞定。接下来就是放python写的web程序。

网上很多资料都用了一个mptest.py来开场,我觉得挺好,由简入繁,我一开始就把我的程序放上去,结果出的问题都不知道找谁去。一步步来,一点点成功会支持你继续下去。

用mptest.py的时候,在httpd.conf中要加个Directory的节点,内部的配置是这样的。

AddHandler mod_python .py
PythonHandler mptest
PythonDebug On

这里面 AddHandler mod_python .py表示后缀为py的文件都用mod_python来处理。
PythonHandler mptest中的mptest就是指mptest.py。
我的项目文件夹叫mysite,放在D:/wamp/apps下面。
部署Django项目的时候,用下面的配置

LoadModule python_module modules/mod_python.so
DocumentRoot "D:/wamp/apps"
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>

<Location "/mysite/">
SetEnv DJANGO_SETTINGS_MODULE settings
SetHandler mod_python
AddHandler mod_python .py
PythonHandler django.core.handlers.modpython
PythonOption django.root /mysite
PythonDebug On
PythonPath "['C:/Python25','D:/wamp/apps/', 'D:/wamp/apps/mysite', '/django','C:/Python25/Lib/site-packages'] + sys.path"
</Location>

如果不顺利,通常会出现的问题如下。

请求的URL不存在;或者只是把目录结构罗列下来,就像文档服务器一样,点击*.py文件就把内容展现了;或者请求的资源总是Forbidden;或者出现调试项目时出现的黄页;还有500这个错误。

很难说哪种错误对应哪种解决方法,基本上都是配置文件惹的祸,而且大部分是路径配置错误,注意看apache的error.log,注意看页面提示。有几个地方要注意。

Location而不是Directory,我改成了Directory就不工作了。


下面附带django开发所需组件,仅windows上使用,所需的python25、Django-1.2.3
和mysql请自己下吧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值