Apache添加mod_python模块,apachemod_python


转载:http://up20080818.blog.163.com/blog/static/1617903782010684168711/

Apache添加mod_python模块  

2010-07-08 16:16:08|  分类: Linux系统相关|举报|字号 订阅

       本文是在Red Hat Enterprise Linux AS release 4 (Nahant Update 7)的32位操作系统下实现的。 所有的tar包都下载在/root/soft目录下。

 

零,首先编译安装apache:此处使用apache2.2.15版本的tar包

0,解压包:tar zxvf httpd-2.2.15.tar.gz

1,编译安装:./configure --prefix=/home/apache2-2-15 --with-mpm=worker --enable-rewrite --enable-proxy --enable-expires --enable-headers --enable-deflate --enable-dbd --enable-so && make && make install

2,修改httpd.conf文件内容:

97行:ServerName 137.137.137.137:80   (可以使用本机ip或域名)

(此处避免apache启动时:httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName的报错)

115行:<Directory />

                                Options FollowSymLinks

                                AllowOverride all

                                Order deny,allow

                                Allow from all

</Directory>

(此处避免出现权限问题)

3,使用/home/apache2-2-15/bin/apachectl -t命令,检查apache配置有没有问题。

         显示:Syntax OK则说明没问题。

         再使用/home/apache2-2-15/bin/apachectl start启动apache。

4,可以让apache随系统一起启动:

         在/etc/rc.local文件中添加/home/apache2-2-15/bin/apachectl start命令即可。

 

一,编译安装mod_python

0,解压包:tar zxvf mod_python-3.3.1.tgz

1,此处python使用系统自带的即可:

./configure --with-apxs=/home/apache2-2-15/bin/apxs --with-python=/usr/bin/python

2,编译:

使用make命令。

注:此时可能会出现报错:

apxs:Error: Command failed with rc=65536.

make[1]: *** [mod_python.so] Error 1

make[1]: Leaving directory

`/root/soft/mod_python-3.3.1/src'

make: *** [do_dso] Error 2

解决方法是:编辑 /root/soft/mod_python-3.3.1/src/connobject.c (即包解压目录的src下的connobject.c文件)的 142 行:

!(b == APR_BRIGADE_SENTINEL(b)

改成:

!(b == APR_BRIGADE_SENTINEL(bb) 即:改成两个b

然后重新编译。

3,安装:

使用make install命令。

此时在/home/apache2-2-15/modules下生成mod_python.so,说明安装完成。

 

二,修改apache配置文件:

1,在/home/apache2-2-15/conf/httpd.conf文件中修改一下内容:

389行:Include conf/extra/httpd-vhosts.conf去掉前面的#,开启虚拟机

412行添加(412行为文件末尾,以下语句也可以添加在别的地方):

LoadModule python_module modules/mod_python.so

<Directory /home/apache2-2-15/htdocs/mypy>

                 AddHandler mod_python .py

                 PythonHandler index

                 PythonDebug On

</Directory>

2,在/home/apache2-2-15/conf/extra/httpd-vhosts.conf文件中添加虚拟机:

<VirtualHost *:80>

             ServerAdmin zwnking@137-python.com

             DocumentRoot "/home/apache2-2-15/htdocs/mypy"

             ServerName www.137-python.com

             DirectoryIndex index.py

             ErrorLog "logs/137-python-error_log"

             CustomLog "logs/137-python-access_log" common

             <Directory /home/apache2-2-15/htdocs/mypy>

                 AllowOverride All

                 Order deny,allow

                 Allow from all

             </Directory>

</VirtualHost>

 

三,在主目录/home/apache2-2-15/htdocs/mypy创建index.py文件:

内容为:

from mod_python import apache

def handler(req):

             req.write("hello world from 137-python.com")

             return apache.OK

 

四,重启apache。然后在客户端IE里输入www.137-python.com,

可以看到hello world from 137-python.com则说明配置成功。

 

至此apache的mod_python模块添加完成。

 

 

 

ZWN.King出品

相关内容

    暂无相关文章