apache2.55+mod_python2.82+Django0.91配置手册(NT) 不指定

, 2007/08/14 22:30 , Python , 评论(0) , 阅读(9777) , Via 本站原创 | |
1、 安装APACHE,安装目录随便定,我这里用apache_home表示apache的安装根目录,安装完毕后,启动
apache,看到apache的欢迎界面,则说明apache安装成功
2、 安装python2.4.2, 默认安装在c盘下面(可以随意指定),设置环境变量,
引用
pythonpath=.;C:\Python24\Lib;C:\Python24\dlls;C:\Python24\libs
pythonhome=C:\Python24
path环境变量中加入C:\Python24;C:\Python24\Scripts;

进入系统命令提示行,输入python,出现如下信息:
Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
说明python安装成功
3、 安装mode_python,直接执行mod_python-3.2.8.win32-py2.4.exe,默认安装,会出现对话框让你选择
apache的根目录,选择正确后,会在apache_home/modules目录下生成一个mod_python.so的文件,
安装完毕后,修改apache的配置文件http.conf,进行如下配置:
LoadModule python_module modules/mod_python.so

<Directory "apache_home/htdocs">
    Order allow,deny
    Allow from all
    setHandler python-program
    PythonHandler mptest
    PythonDebug On
</Directory>

并在编辑器中编写mptest.py文件:

保存mptest.py到apache_home/htdocs目录下, 启动apache,在浏览器中输入http://localhost:8080/mtest.py
出现  Hello World! 页面,说明mod_python安装成功.
4、 安装Django0.91,下载Django0.91后,打开命令提示行,进入Django0.91的目录,执行
   python setup.py install
安装后,随便在一个目录,比如我在d:/python/example目录下,打开命令提示行,并进入该目录,执行
   django-admin.py startproject newtest
该命令会在examply目录下生成一个test的目录,并在test目录下生成了四个文件:
  __init__.py,settings.py,urls.py,manage.py
启动django自带的web server,命令行中执行:manage.py runserver,会出现如下提示:
  Validating models...
  0 errors found.
  Django version 0.9.1 (magic-removal), using settings 'newtest.settings'
  Development server is running at http://127.0.0.1:8000/
  Quit the server with CONTROL-C (Unix) or CTRL-BREAK (Windows).
在浏览器中输入http://loalhost:8000/,有一个欢迎祝贺的页面,说明安装django成功了。
5、 修改apache的配置文件http.conf如下:

DocumentRoot "e:/python/newtest"
<Directory "e:/python">
    Order allow,deny
    Allow from all

    setHandler python-program
    PythonPath "['d:/python'] + sys.path"
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE newtest.settings
    PythonDebug On
</Directory>

  将DirectoryIndex注释掉
保存后, 将limodou写的<>教程里的第三讲例子来进行测试(你可以自己写例子来测试)
有一些注意事项,比如说路径问题,<>教程里的第十二讲已经说的很清楚了. 我这里只是
把一些不同的配置讲一下.
另外如果按照第三讲例子来进行测试,可能会有个类似这样的错误提示:(无需修改)
引用
   Mod_python error: "PythonHandler django.core.handlers.modpython"
  Traceback (most recent call last):
   File "../site-packages/mod_python/apache.py", line 299, in HandlerDispatch
  result = object(req)
   File "../site-packages/django/core/handlers/modpython.py", line 165, in handler
  return ModPythonHandler()(req)
    File "../site-packages/django/core/handlers/modpython.py", line 126, in __call__
  os.environ.update(req.subprocess_env)
   File "../python2.4/lib/os.py", line 478, in update
   self[k] = dict[k]
   File "../python2.4/lib/os.py", line 463, in __setitem__
   putenv(key, item)
   TypeError: putenv() argument 2 must be string, not list

可以修改modpython.py的ModPythonHandler函数:

就可以了。
Tags: ,
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]