apache中添加FastCGI模块功能

    CGI全称(Common Gateway interface)公共网关借口,HTTP服务器与你的或其他机器上的程序进行交谈的工具,器程序须运行在网络计算机中
   CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等
    FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。
    FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail- Over特性等等。
FastCGI的工作原理
1、Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module)
2、FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个php-cgi)并等待来自Web Server的连接。
3、当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。
   Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。
4、FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,请求便告处理完成。
   FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web Server中)的下一个连接。 在CGI模式中,php-cgi在此便退出了。
在上述情况中,你可以想象CGI通常有多慢。每一个Web请求PHP都必须重新解析php.ini、重新载入全部扩展并重初始化全部数据结构。
使用FastCGI,所有这些都只在进程启动时发生一次。一个额外的好处是,持续数据库连接(Persistent database connection)可以工作。

前一篇文章中我们构建了LAMP是工作在CGI模式,下面来为apache2.2.22版本提供FastCGI模块,是LAMP工作更完美
我们去官方下载最新的fastcgi模块软件名为mod_fastcgi-2.4.6.tar.gz   下载地址http://www.fastcgi.com/dist/
步骤:
#tar xf mod_fastcgi-2.4.6.tar.gz
#cd mod_fastcgi-2.4.6
#cp Makefile.AP2 Makefile    //如果是2.0版本的apache需要此操作
#make top_dir=/usr/local/apache/          //这是httpd安装的目录
#make install top_dir=/usr/local/apache/

在httpd.conf中添加
LoadModule fastcgi_module modules/mod_fastcgi.so
之后重启httpd服务  就可以完成FastCGI模块升级了

http://leezqang.blog.51cto.com/1525874/812754

猜你喜欢

转载自qianxunniao.iteye.com/blog/1569220