FastCGI中文参考手册(收藏)(一)

FastCGI中文参考手册 

主题 FastCGI中文参考手册 (Perl语言相关部分)
作者 hoowa .sun
出自 www.perlchina.org

想必所有人都了解CGI技术的通用性与效率有多糟糕。那么本文所描述的所有内容仅限于一种可以大幅度提高页面处理技术的东东,它的名字叫FastCGI, 他的速度效率最少要比CGI技术提高5倍以上(要知道目前各种流行的页面处理技术ASP、PHP、JSP/Servlet还没有哪个能超过)。这并不是一 种新技术,笔者在2000年第一次用过此技术。大家一定惊讶,既然有这种技术为什么我们还要编写这本参考手册,原因显而易见,虽然此技术已经产生自今,但 中文资料还是少的可怜。好!废话到此为之止。

==================
FastCGI的技术原理
==================
如果想了解FastCGI的技术原理就要了解何为"短生存期应用程序",何为"长生存期应用程序"。

先从CGI技术开刀,以下是CGI技术的理论:每次当客户请求一个CGI的时候,Web服务器就请求操作系统生成一个新的CGI进程。当CGI满足要求后,服务器就杀死这个进程。服务器对客户端的每个请求都要重复这样的过程。
而FastCGI技术的理论为:FastCGI程序一旦产生后,他可以持续工作,足够满足客户的请求直到被明确的终止。如果你希望通过协同处理来提高程序的性能,你可以请求Web服务器运行多个FastCGI 应用程序的副本。

CGI就是所谓的短生存期应用程序,FastCGI就是所谓的长生存期应用程序。

由于FastCGI程序并不需要不断的产生新进程,可以大大降低服务器的压力。并且产生较高的应用效率。

自今,较为流行的Java语言Servlet技术在设计上是以参考FastCGI的技术运行所设计。

==============
FastCGI的特点
==============
1. 打破传统页面处理技术

传统的页面处理技术,程序必须与Web服务器或Application服务器处于同一台服务器中。这种历史已经早N年被FastCGI技术所打破, FastCGI技术的应用程序可以被安装在服务器群中的任何一台服务器,而通过TCP/IP协议与Web服务器通讯,这样做既适合开发大型分布式Web 群,也适合高效数据库控制。

2. 明确的请求模式

CGI技术没有一个明确的角色,在FastCGI程序中,程序被赋予明确的角色(响应器角色、认证器角色、过滤器角色)。

3. 合理的程序结构

起初,真的很讨厌FastCGI应用程序的结构要求。没关系,您经过一段时间编写后就会喜欢这种结构,只有这种完全规范的结构才能让您的程序更有效率。

===============================
FastCGI技术支持语言与Web服务器
===============================
在本手册中仅介绍如何用Perl语言来实现FastCGI技术。实际,只要符合FastCGI技术规范,都可以使用本技术。FastCGI技术目前支持语言有:C/C++、Java、Perl、Tcl、Python、SmallTalk、Ruby等。
FastCGI技术需要在Web服务器中安装支持部分才能运行,目前这部分已经完全支持:Apache、IIS、Pi3Web、Zeus等。

1. Apache服务器安装方法

Linux系统Apache:

首先需要准备好一些安装包,如果您已经安装过Apache请参考以下步骤重新编译。

Apache HTTP SERVER
在本文编写的时候,稳定版为apache.1.3.27。我们这里所使用的是源代码版http://apache.linuxforum.net/dist/httpd/apache_1.3.27.tar.gz
其他版或则这个地址有错误请到www.apache.org找相关版本。

Mod_FastCGI
当前是2.3.0版!http://www.fastcgi.com/dist/mod_fastcgi.tar.gz
如果需要下载其他版或地址有错误请到www.fastcgi.com的Servers部分找到相关版本。

好!安装包准备完毕,我们可以开始安装过程了。

1.解压Apache安装包tar zxvf apache_1.3.27.tar.gz
2.解压mod_fastcgi.tar.gz包
3.将解压mod_fastcgi.tar.gz包后的目录复制到apache_1.3.27解压后目录的src/modules下并更名为fastcgi
4.使用Apache安装配置命令./configure --activate-module=src/modules/fastcgi/libfastcgi.a
5.执行make
6.执行make install
7.如过程没出现错误说明安装成功。请测试

你可能感兴趣的:(apache,Web,应用服务器,cgi,perl)