海上月明

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

          將Django 發布到apache2.2

          Posted on 2007-01-13 15:24 pts 閱讀(2767) 評論(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



          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 白水县| 曲周县| 哈巴河县| 山阳县| 马公市| 积石山| 西丰县| 江华| 东乌珠穆沁旗| 类乌齐县| 广河县| 霍城县| 扶沟县| 潢川县| 抚远县| 府谷县| 通城县| 涞水县| 长寿区| 屯门区| 宝清县| 南澳县| 张北县| 邵东县| 商洛市| 皮山县| 定襄县| 沁水县| 滁州市| 新安县| 慈利县| 望江县| 衡山县| 金门县| 永吉县| 潞城市| 海晏县| 灵宝市| 静安区| 九台市| 芒康县|