您的位置:首页 > 运维架构 > Apache

Windows下Apache+mod_python+Django配置

2011-09-25 08:23 651 查看
Windows下Apache+mod_python+Django配置

Apache

首先要安装Apache,我安装的版本是2.2.*;

Python

python肯定是要安装的,我安装的版本是2.5的,高版本的还没有mod_python支持,那就需要用mod_wsgi来支持,那个我配过,虽然成功了,但是没有去详细研究wsgi这个东东,不过是这肯定是个趋势,mod_python是个太监产品。跑题了。Python安装目录:D:\Python25,安装完成后,将D:\Python25加入系统环境变量的Path中。

mod_python

针对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。我下载的版本是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中。

Project建立

最好在自己的工作目录,我的工作目录是:E:/Applications/ForPython,进入MSDOS,运行命令“django-admin.py startproject pyweb”,其中pyweb是我的项目名字,成功后会在ForPython下看到pyweb目录。

Apache配置

前面都是简单的东西,以下的配置才是本篇文章的核心,打开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,从中找原因。

如还是不能解决问题,大不了将所有的推倒重做。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: