您的位置:首页 >> Web开发 >> CGI技术 >> 正文
CGI技术 RSS
 

实战 FastCGI(转)二

http://www.rdxx.com 07年11月12日 11:04 我要投稿

关键词: FastCGI

   2. 安装 FastCGI

要使用 FastCGI 你必需有一个可供 FastCGI 程序执行的环境 (run-time environment),以及 撰写 FastCGI 程序的开发环境。以下就以阿帕契服务器 (Apache Web Server) 做为 FastCGI 的执行平台,简述如何在阿帕契服务器使用 FastCGI。

由于阿帕契服务器自由、开放、跨平台的特性,现今许多系统或发行套件 (distribution) 都内含阿帕契服务器,如果你直接用预先编译好的阿帕契程序,请自行找出符合该系统设定规则的安装路径。以下列出一些阿帕契服务器相关的路径设定规则,后面的范例将以阿帕契内定值为主,其它的系统请自行参考:

系统 执行文件路径 设定文件路径
阿帕契内定值 /usr/local/apache/bin /usr/local/apache/etc
FreeBSD /usr/local/sbin /usr/local/etc/apache
Red Hat Linux /usr/sbin /usr/etc

2.1 在阿帕契服务器上安装 FastCGI 模块
安装 mod_fastcgi 这个模块,可以让你的阿帕契服务器支持 FastCGI 协议。mod_fastcgi 现在最新版本为 2.2.2 版,此版主要适用于 Apache 1.3 版以上。如果你的 Apache 还是 1.2 版,请配合 mod_fastcgi 2.0.18 版使用。以下设定以 Apache 1.3.6 及 mod_fast 2.2.2 为示范。

2.1.1 标准安装 (利用 APACI)

1. 首先下载 apache_1.3.6.tar.gz 及 mod_fastcgi_2.2.2.tar.gz ,解开:
$ gunzip -c apache_1.3.6.tar.gz | tar xvf -
$ gunzip -c mod_fastcgi_2.2.2.tar.gz | tar xvf -
2. 把 mod_fastcgi 的原始码复制到 Apache 的目录下:
$ cp -rp mod_fastcgi_2.2.2 apache_1.3.6/src/modules/fastcgi
3. 设定 Apache 加入 mod_fastcgi 模块:
$ cd apache_1.3.6
$ ./configure -activate-module=src/modules/fastcgi/libfastcgi.a -enable-module=info -enable-shared=info [ more APACI options ]
4. 编译及安装
$ make
$ make install
5. 看一下编译出来的执行文件是否含有 mod_fastcgi 模块:
$ /usr/local/apache/sbin/httpd -l
Compiled-in modules:
http_core.c
...
mod_fastcgi.c
...

2.1.2 将 mod_fastcgi 安装成一个 DSO
假设你已经在系统上安装好 Apache 1.3 版以上,并且你的平台支持 DSO (Dynamic Shared Object) 的方式动态加入模块,那么你可以透过 apxs (APache eXtenSion tool) 将 mod_fastcgi 安装成一个 DSO 模块。

1. 下载 mod_fastcgi_2.2.2.tar.gz 并且解开:
$ gunzip -c mod_fastcgi_2.2.2.tar.gz | tar xvf -
2. 编译 mod_fastcgi 模块成 DSO:
$ cd mod_fastcgi_2.2.2
$ /usr/local/apache/sbin/apxs -o mod_fastcgi.so -c *.c
3. 安装
$ /usr/local/apache/sbin/apxs -i -a -n fastcgi mod_fastcgi.so

2.2 加入使用 mod_fastcgi 的相关设定
为了让 Apache 区分出那一些联机请求属于 FastCGI 来处理的,我们必需在阿帕契的设定档内加入让 Apache 可以辨别 FastCGI 的设定。

1. mod_fastcgi 模块会向 Apache 登记一个 fastcgi-script 的处理类型 (handler type),我们可以设定所有以 fcg 以及 fpl (for perl) 为扩展名的程序都是符合 FastCGI 协议的应用程序:
AddHandler fastcgi-script .fcg .fpl
2. 接下来我们定义 /usr/local/www/fcgi-bin 这个目录用来存放已经写好的 FastCGI 程序:
ScriptAlias /fcgi-bin/ /usr/local/www/fcgi-bin/
3. 检查设定档文法是否正确:
$ /usr/local/apache/sbin/apachectl configtest
Syntax OK
4. 重新激活阿帕契服务器,让新设定生效:
$ /usr/local/apache/sbin/apachectl graceful
/usr/local/apache/bin/apachectl graceful: httpd gracefully restarted

Apache 1.3.4 版之后将原本的 httpd.conf 、srm.conf、access.conf 合并成一个档案。所以你所使用的 Apache 如果是 1.3.4 版之后,请直接修改 httpd.conf3 这个档,如果是 1.3.3 版之前,我建

9 7 3 1 2 3 4 8 :


 
 
标签: FastCGI 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站