Python+Apache环境安装与配置

Python和Apache也有直接集成、CGI、FastCGI三种配置方式:

1.直接集成

直接将Python以mod_python模块的形式集成到Apache中。客户端请求到达apacheapache找到cgi脚本后,在服务器上直接使用指定python解释器来执行python脚本,然后将执行结果返回给client。如果要使用mod_python模块,那么mod_python可以让Python解释器直接成为apache的一部分,带来的直接效果就是使执行python cgi脚本的速度大大提高了。


2.CGI

(1).apache安装,安装到/home/local/apache目录中

   a)下载apache-httpd源码tarball

   b)./configure --prefix=/home/local/apache

   cmake && make install

(2).启动apache

./bin/apachectl start

备注,如果./conf/httpd.conf中监听的端口是 80的话,那么需要用root账号启动。如果监听的端口是大于1024的话,就可以使用其他的账号启动了。

(3)apache配置cgi程序的部署

   a)修改httpd.conf配置文件,确保如下配置存在

LoadModulecgid_module modules/mod_cgid.so
ScriptAlias /cgi-bin/"/home/work/apache/cgi-bin/"
<Directory"/home/work/apache/cgi-bin">
    AllowOverride None
    Options +ExecCGI
    Order allow,deny
    Allow from all
</Directory>
AddHandler cgi-script.cgi .py .sh

备注:Apache HTTP server的高版本已经内置了CGI module,因此需要像FastCGI模块那样,还需要单独安装。

4)编写CGI脚本,可以使用任何语言编写,例如shellpythonperlruby等等

python为例如下,在cgi-bin目录下创建一个mycgi-test文件,内容如下:

#!/usr/bin/python
 
print 'Content-type:text/plain'
print
 
print"Hello Cooder"

备注:cgi脚本中,一定要有#!哦,不然服务使用什么平台来执行它。另外cgi脚本也不一定非要放到Apache安装目录下cgi-bin目录中,看你ScriptAlias指令是怎么指定的啦。

5)测试

在浏览器中输入:

http://localhost:80/cgi-bin/mycgi-test

 

3.FastCGI

可以参见<<PHP+Apache环境安装与配置>>,类似的。


你可能感兴趣的:(Python+Apache环境安装与配置)