海上月明

          editer by sun
          posts - 162, comments - 51, trackbacks - 0, articles - 8
             :: 首頁(yè) :: 新隨筆 ::  :: 聚合  :: 管理

          將Django 發(fā)布到apache2.2

          Posted on 2007-01-13 15:24 pts 閱讀(2769) 評(píng)論(0)  編輯  收藏
          早上起來(lái)開(kāi)始到現(xiàn)在搗鼓成功,花費(fèi)5個(gè)小時(shí),步驟如下:
          1、下載apache2.2,并安裝,測(cè)試http://127.0.0.1/,看到It works!
          2、下載安裝django。由于已經(jīng)使用著django,因此這一步就略過(guò)了。
          3、從http://apache.mirrors.hoobly.com/httpd/modpython/win/3.3.0b/下載mod_python。注意下載的版本和已經(jīng)安裝的python版本相符。
          4、修改apache的配置文件httpd.conf,在加載module部分添加一行
          LoadModule python_module modules/mod_python.so
          5、可以測(cè)試一下mod_python是否運(yùn)行正常。
               方法:修改httpd.conf,在最后添加
          <Location /mpinfo>
                SetHandler mod_python
                PythonHandler mod_python.testhandler
          </Location>
          啟動(dòng)apache,測(cè)試http://127.0.0.1/mpinfo是否看到配置信息。
          6、創(chuàng)建一個(gè)django project,路徑為j:\django,名字mysite,使用django的方法運(yùn)行server先測(cè)試一下是否正常。
          7、關(guān)鍵一步了。
               在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>
          當(dāng)然要去掉“#”。注意紅字部分,應(yīng)該是包含創(chuàng)建的project的目錄,不含project。如果設(shè)置成
          j:\django\mysite,會(huì)導(dǎo)致apache找不到mysite.settings_apache配置文件。同時(shí)settings_apache后面沒(méi)有“.py”。
          由于設(shè)置的配置文件為settings_apache,因此需要復(fù)制settings.py to settings_apache.py一份。
          如果settings_apache.py中使用的有相對(duì)路徑,需要修改為絕對(duì)路徑,主要注意
          DATABASE_NAME、MEDIA_ROOT、TEMPLATE_DIRS、STATIC_PATH(好像不改為絕對(duì)路徑也可)。
          如果你不想每次重啟 Apache 來(lái)進(jìn)行測(cè)試,可以將:
          MaxRequestsPerChild 0     改為:    MaxRequestsPerChild 1
          基本完成了,然后就是測(cè)試http://127.0.0.1/mysite/
          9、其他:可能還需要修改urls.py中的路徑匹配設(shè)置,將mysite加在各個(gè)匹配項(xiàng)前。 如  (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



          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 镇康县| 安图县| 松原市| 涿州市| 信宜市| 甘孜| 准格尔旗| 桑植县| 长宁区| 海南省| 武功县| 和龙市| 巴林右旗| 右玉县| 长宁区| 鄂伦春自治旗| 桂阳县| 桐庐县| 昌黎县| 平安县| 德阳市| 常熟市| 中超| 武穴市| 手机| 蕉岭县| 成安县| 镇康县| 霍林郭勒市| 苏尼特左旗| 五台县| 遂平县| 边坝县| 万荣县| 绥化市| 长沙县| 都兰县| 门头沟区| 九江市| 连州市| 六枝特区|