zoukankan      html  css  js  c++  java
  • apache的python部署

    我的环境是server2003,apache2.2已经安装好了并已经运行。

    首先下载软件:

    python:http://www.python.org,给最新下载页面http://www.python.org/download/releases/2.5.2/

    mod_python:http://apache.mirror.phpchina.com/httpd/modpython/win/3.3.1/(严重注意版本,python对版本要求很严格,请务必下载符合你需要的版本)

    第一步:安装python,这步没有什么难度,一路下一步就可以了。

    第二步:安装mod_python,我下载的文件是mod_python-3.3.1.win32-py2.5-Apache2.2.exe,一路下一步。注意最后一步选择apache安装目录,请选择apache2.2的目录,一定要选择到apache2.2,不然mod不能正确生成到modules,如果第一次没有正确请重新运行安装mod_python即可。

    安装完成后出现以下信息,表示安装完成:

    Important Note for Windows users, PLEASE READ!!!


                 1. This script does not attempt to modify Apache configuration,

                     you must do it manually:


                     Edit D:/program files/Apache Software Foundation/Apache2.2confhttpd.conf,

                     find where other LoadModule lines are and add this:

                         LoadModule python_module modules/mod_python.so


                 2. Now test your installation using the instructions at this link:

                     http://www.modpython.org/live/current/doc-html/inst-testing.html

    3.第三步,配置apache服务器。修改httpd.conf文件

    a)找到 LoadModule 位置加上下面一行

    LoadModule python_module modules/mod_python.so
    说明:在安装modpy_thon结束时会报告mod_python.so的位置和LoadModule目录的形式
    c) 找到Alias别名定义(当然你可以使用根目录),加入如下行

    Alias /python D:/program files/Apache Software Foundation/Apache2.2/htdocs/python
    c) 找到目录定义加入如下行:

    AllowOverride FileInfo
    AddHandler mod_python .py
    PythonHandler mptest
    PythonDebug On

    4.第四步:测试一下

    在D:/program files/Apache Software Foundation/Apache2.2/htdocs/python下新建一个文件test.py

    文件内容如下:

    注意第三、第四行的缩进(不要问原因,python的语法就是这么变态)

    Python代码
    from mod_python import apache   
    def handler(req):   
        req.write("Hello World!BlogGuy")   
        return apache.OK  
    出来的结果为Hello World!BlogGuy!

    配置完成。


     问题:

    这样设置会导致每次的请求都会访问mptest.py文件,解决方法:

    将mytest.py修改成如下内容:

    import os;  
    from mod_python import apache  
    def handler(req):  
        handler = req.uri[1:];  
        if handler[-3:] == ".py" :  
            handler = handler[0:-3];  
        if not handler == "index" :  
            req.add_handler("PythonHandler", handler);  
        return apache.OK

    ok!

  • 相关阅读:
    解决linux下主机名变bogon的问题
    如何压缩虚拟机文件
    Linux shell crontab expdp 定时任务逻辑备份 定时删除旧文件
    .NET ramework 4.0安装失败
    Oracle数据库密码过期
    MySQL max_allowed_packet设置及问题
    WPF 异步执行
    win8 无法显示桌面,运行explorer.exe 提示 0xc0000018 异常 解决办法
    最全的Spark基础知识解答
    数据处理包plyr和dplyr包的整理
  • 原文地址:https://www.cnblogs.com/chenjianhong/p/4145065.html
Copyright © 2011-2022 走看看