Python和Apache也有直接集成、CGI、FastCGI三种配置方式:
1.直接集成
直接将Python以mod_python模块的形式集成到Apache中。客户端请求到达apache,apache找到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
c)make && make install
(2).启动apache
./bin/apachectl start
备注,如果./conf/httpd.conf中监听的端口是 80的话,那么需要用root账号启动。如果监听的端口是大于1024的话,就可以使用其他的账号启动了。
(3)apache配置cgi程序的部署
a)修改httpd.conf配置文件,确保如下配置存在
代码语言:javascript复制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脚本,可以使用任何语言编写,例如shell,python,perl,ruby等等
以python为例如下,在cgi-bin目录下创建一个mycgi-test文件,内容如下:
代码语言:javascript复制#!/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环境安装与配置>>,类似的。