Windows下Apache+mod_python+Django配置
Apache
首先要安裝Apache,我安裝的版本是2.2.*;
python肯定是要安裝的,我安裝的版本是2.5的,高版本的還沒有mod_python支持,那就需要用mod_wsgi來支持,那個我配過,雖然成功了,但是沒有去詳細研究wsgi這個東東,不過是這肯定是個趨勢,mod_python是個太監產品。跑題了。Python安裝目錄:D:\Python25,安裝完成後,將D:\Python25加入系統環境變量的Path中。
針對Apache2.2需要安裝mod_python-3.3.1.win32-py2.5-Apache2.2.exe,如果Apache是2.0.*版本則需安裝mod_python-3.3.0b.win32-py2.5-Apache2.0.exe,否則會在重啓Apache時報找不到mod_python.so的錯誤,而你看modules下面mod_python.so卻在裏面,這說明版本安裝不對。
mod_python的安裝比較簡單,中間要選擇下你的Apache安裝目錄。
要支持Django,就要去下載Django。我下載的版本是Django-1.3.1。
Django安裝,解壓之後,MSDOS進入其目錄,運行命令“python setup.py install” 就可以把Django安裝成功了,成功後會在D:\Python25\Lib\site-packages目錄下看到django文件夾。安裝完之後,將D:\python25\Lib\site-packages\django\bin加入系統環境變量的Path中。
最好在自己的工作目錄,我的工作目錄是:E:/Applications/ForPython,進入MSDOS,運行命令“django-admin.py startproject pyweb”,其中pyweb是我的項目名字,成功後會在ForPython下看到pyweb目錄。
前面都是簡單的東西,以下的配置纔是本篇文章的核心,打開Apache配置文件httpd.conf,找到一大堆的LoadModule,在其前面加入以下語句:
LoadModule python_module modules/mod_python.so
在httpd.conf最後加入
<VirtualHost 127.0.0.1:80>
DocumentRoot "E:/Applications/ForPython"
<Directory "E:/Applications/ForPython">
AllowOverride None
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>
<Location "/pyweb">
SetHandler python-program
#AddHandler python-program .py
PythonPath "['D:/Python25/Lib/site-packages/django/bin','D:/Python25/Lib/site-packages/django','E:/Applications/ForPython','E:/Applications/ForPython/pyweb']+sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE pyweb.settings
PythonInterpreter inves
PythonDebug On
</Location>
</VirtualHost>
注意:PythonPath後面的定義,儘量包含Django的路徑和你項目的路徑,不然會提示路徑錯誤,而發生錯誤的。
至此,整個配置完成,重啓Apache,IE中訪問:http://localhost/pyweb,看到下圖,說明成功了。如果你的配置不能成功,請多關注Apache的error.log,從中找原因。
如還是不能解決問題,大不了將所有的推倒重做。