什么是
FastCGI<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
简单地说,
FastCGI
应用程序就像应用程序一样进行操作,不像
CGI
应用程序,它始终处于
活动状态并为来自
Web
服务器的请求提供服务。也就是说,每次处理时,它不必花费启动新进程
和程序初始化的开销。
Apache如何支持 FastCGI
Apache
可以通过两种方法来支持
FastCGI
1)
在
Apache
服务器中添加
mod_fastcgi.c
模块来支持。
2)
使用
cgi-fcgi
的传统
CGI
应用程序运行
FastCGI
应用程序。
第
2
种方法只是形式上的实现,无法获得
FastCGI
的优点,所以强烈建议使用第
1
种方法实
现。
3.
重新编译
Apache
以支持
FastCGI
1)
获取
Apache
最新的
FastCGI
模块:文件名是
mod_fastcgi.c
,可以到
www.fastcgi.com
中下
载。
2)
将模块文件拷贝到
Apache
的源程序目录下
src/modules/standard
子目录中。
3)
修 改
s r c
目 录 下 的 编 译 配 置 文 件
C o n f i g u r a t i o n
, 添 加 一 行 :
A d d M o d u l e
modules/standard/mod_fastcgi.o
。
4)
运行“
./configure
”。
5)
运行
make
。
6)
运行
make install
。
这样就会在源程序目录下生成一个新的“
httpd
”程序,用这个新的程序替掉原来的程序就
完成了整个过程。
4.
配置实例
完成上面的过程后,到
www.fastcgi.org
下载
FastCGI
开发人员工具集
FastCGI Developer's Kit
,
放入
/usr/local/fastcgi
目录下(目录可选)。需要对
httpd.conf
文件做相应的修改,为安全起见,建
议在修改之前备份原来的配置文件。下面是一个配置例子
ResourceConfig /dev/null
AccessConfig /dev/null
#
用于
User
命令的用户名称
User
FastCGI_User
#
用于
Group
命令的组名称
Group FastCGI_Group
StartServers 1
MinSpareServers 1
MaxSpareServers 1
ServerRoot /usr/local/etc/httpd
ErrorLog logs/error.log
TransferLog logs/access.log
AppClass /usr/local/fastcgi/examples/echo -initial -env SOMETHING=NOTHING
<Location /examples/echo>
SetHandler fastcgi-script
</Location>
AppClass /usr/local/fastcgi/examples/echo.fcg -port 8978
<Location /examples/echo.fcg
SetHandler fastcgi-script
</Location>
<Location /example/remote-echo>
SetHandler fastcgi-script
</Location>
注意 在此只列出了与
FastCGI
有关配置,请根据这个修改
httpd.conf
文件
转载于:https://blog.51cto.com/redhat2007/1006064