Python+Apache环境安装与配置

发布时间:2019-09-12 08:02:20编辑:auto阅读(2056)

    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环境安装与配置>>,类似的。


关键字