海上月明

editer by sun
posts - 162, comments - 51, trackbacks - 0, articles - 8
   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理

将Django 发布到apache2.2

Posted on 2007-01-13 15:24 pts 阅读(2756) 评论(0)  编辑  收藏
早上起来开始到现在捣鼓成功,花费5个小时,步骤如下:
1、下载apache2.2,并安装,测试http://127.0.0.1/,看到It works!
2、下载安装django。由于已经使用着django,因此这一步就略过了。
3、从http://apache.mirrors.hoobly.com/httpd/modpython/win/3.3.0b/下载mod_python。注意下载的版本和已经安装的python版本相符。
4、修改apache的配置文件httpd.conf,在加载module部分添加一行
LoadModule python_module modules/mod_python.so
5、可以测试一下mod_python是否运行正常。
     方法:修改httpd.conf,在最后添加
<Location /mpinfo>
      SetHandler mod_python
      PythonHandler mod_python.testhandler
</Location>
启动apache,测试http://127.0.0.1/mpinfo是否看到配置信息。
6、创建一个django project,路径为j:\django,名字mysite,使用django的方法运行server先测试一下是否正常。
7、关键一步了。
     在httpd.conf文件中添加:
#<Location "/mysite/">
#    SetHandler python-program
#    PythonPath "['j:\django'] + sys.path"
#    PythonHandler django.core.handlers.modpython
#    SetEnv DJANGO_SETTINGS_MODULE mysite.settings_apache
#    PythonDebug On
#</Location>
#
#<Location "/media/"> 
#    SetHandler None
#</Location>
#
#<LocationMatch "\.(jpg|gif|png)$"> 
#    SetHandler None
#</LocationMatch>
当然要去掉“#”。注意红字部分,应该是包含创建的project的目录,不含project。如果设置成
j:\django\mysite,会导致apache找不到mysite.settings_apache配置文件。同时settings_apache后面没有“.py”。
由于设置的配置文件为settings_apache,因此需要复制settings.py to settings_apache.py一份。
如果settings_apache.py中使用的有相对路径,需要修改为绝对路径,主要注意
DATABASE_NAME、MEDIA_ROOT、TEMPLATE_DIRS、STATIC_PATH(好像不改为绝对路径也可)。
如果你不想每次重启 Apache 来进行测试,可以将:
MaxRequestsPerChild 0     改为:    MaxRequestsPerChild 1
基本完成了,然后就是测试http://127.0.0.1/mysite/
9、其他:可能还需要修改urls.py中的路径匹配设置,将mysite加在各个匹配项前。 如  (r'^address/', include('mysite.address.urls')),
改为
    (r'^mysite/address/', include('mysite.address.urls')),

参考资料:
1、Django Step by Step (十二) by limodou
2、HOWTO: Django on Windows
3、mod_python document



只有注册用户登录后才能发表评论。


网站导航: