Linux/Mac OS X安装配置mod_python

2010-04-01 23:08:47 by sand, 902 visits, Tags: Python, Apache, Linux, Mac OS X,

操作系统:Linux Cent OS 5 / Max OS X 10.6 snow leopard
相关环境:Apache httpd 2.2.15 ; Python 2.6.4
安装版本:mod_python 3.3.1
 
mod_python是apache组织的一个项目,通过它,可以让python开发的web应用跑在apache上,下面介绍安装步骤:
  1. 下载:请到官方网站http://www.modpython.org/或者直接点击链接http://www.apache.org/dist/httpd/modpython/mod_python-3.3.1.tgz
  2. 解压:tar zxvf mod_python-*
  3. 进入文件目录,运行以下命令:
    1)./configure --with-apxs=/usr/local/apache/bin/apxs
    2)make
    3)sudo make install
    命令1为安装程序自动配置环境,命令2为编译源程序,命令3为安装
    注:因为mod_python现在没有对应python2.6版本的,所以要修改一下源码,编辑src/connobject.c第142行
    !(b == APR_BRIGADE_SENTINEL(b) ||改为!(b == APR_BRIGADE_SENTINEL(bb) ||
     
  4. 安装完成,到/usr/local/apache/modules中检查一下看是不是已经有了mod_python.so

  5. 配置apache启动mod_python
    修改apache配置文件httpd.conf,添加
    LoadModule python_module modules/mod_python.so

  6. 测试方法
    1)修改apache配置文件httpd.conf,添加
    alias /py /http/py/test
    <Directory /http/py/test>
        AddHandler mod_python .py PythonHandler pytest
        PythonDebug On Allow from all
    </Directory>
    2)添加文件/http/py/test/pytest.py代码如下
    from mod_python import apache
    def handler(req): req.write("Hello World!")
        return apache.OK
    3)运行命令service httpd restart重新启动apache httpd服务,浏览器输入http://localhost/py/pytest.py进行测试一下吧,看到Hello World!代表成功,Good Luck!
如有问题请留言,我一定尽力解答
 
可能碰到的问题:
  1. /usr/bin/install -c -d /usr/local/apache/modules
    /usr/bin/install -c src/mod_python.so /usr/local/apache/modules
    /usr/bin/install: stat‘src/mod_python.so’失败: 没有那个文件或目录
    解决办法:链接最新的libtool
    mv /usr/local/apache/build/libtool /usr/local/apache/build/libtool.old
    ln -s /usr/bin/libtool /usr/local/apache/build/libtool

 

相关评论 | Comments (2)

  1. MarsPlus says: 2012-02-28 14:44:35
    您好,在make后显示这样的信息是哪里出了问题呢? apxs:Error: Command failed with rc=65536 . make[1]: *** [mod_python.so] Error 1 make: *** [do_dso] Error 2
  2. 秦迷空间 says: 2012-05-17 09:04:28
    你好,诚挚交换友链

发表评论

用户名(required)

验证码(required)

Email(不会显示在网页)(required)

您的站点