作者 :王骜骋什么是CGI? 最早的网页都是静态的,好在有了CGI(通用网关接口)的帮助下,网站个个都变的活灵活现,像目前网站上在用的留言本,论坛,聊天室等东西很多都用CGI来完成的。CGI只是一种接口,并不是一种编程的语言,但是CGI几乎可以接受所有的编程语言去编写它,比如C/C++、VB、SHELL等等,但是其中最流行的是PERL(骆驼) ,PERL的文字处理功能非常强大,作者开发它的目的最先也是为了处理文字报表等信息,它是一种解释性的语言,操作平台的可移植性、兼容性也很强,比如WINDOWS、*NUX、OS/2、VMS等等 ,使用这种语言编写程序需要在操作系统上安装PERL的解释器,要执行脚本的话,PERL解释器会被调用,然后一行一行的做解析(关于PERL的安装、调试请参考相关网站或书籍,这里不多说)。
什么是FastCGI? 时代在进步,技术在更新!我们的网站越做越大,后台使用的数据库规模也逐渐增加,系统资源和网络开销成为了难题,如果再购买硬件设施(比如专业的应用程序服务器),这会投入一笔不小的资金,但是如果不及时解决,遇到了突法性的网络事件又会经常当机,这会给网站带来巨大的无形损失。 PERL虽然说是一种方便、快速的东西,但是遇到今天的大型网络,也有点吃不消了,因为CGI的程序每次执行时都要花费时间去复制一个新的进程,这会占用过多的资源。 就因为这样一种叫FastCGI的东西横空出世了,FastCGI是一个内存常驻(long-live)型的CGI,它利用内存高速的原理,在编程中进行循环结构把程序寄放在内存中,只要启动后,它可以一直执行着,从而大量提高程序的运行速度,和CPU、内存的占用时间,这里大家可以想想内存读取和硬盘读取的速度差异所在。这样而来系统就会更快的返回用户的请求,也就是说可以同时拥有更大的并发能力,接受更多的用户。
如何在WIN2K上进行安装? 以前讨论*NUX上安装FastCGI的文章比较多,我这里就不再介绍了。我们今天来看看怎么在WIN2K上安装它。目前我使用的WIN2K是Server(服务器)版和APACHE WEB SERVER。 我们采取一种简便的方式在APACHE上安装FastCGI,这里我们不需要进行编译,直接使用编译好的DLL文件,文件下载的地方请看文章尾部(下载一)。 DOWN下来后,把这个文件复制到x:\Apache\modules(x:代表你安装APACHE的盘符),下一步是配置APACHE的 CONFIG文件以加载FastCGI模块,用文本打开x:\Apache\conf\httpd.conf,在其中加入以下两行: LoadModule fastcgi_module modules/mod_fastcgi.dll AddHandler fastcgi-script .fcgi .fpl 以上第一行是说,在APACHE启动的时候自动载入mod_fastcgi.dll模块,第二行是说FastCGI的文件识别名称, 好让系统知道哪些是FastCGI脚本,应该怎么去打开它(这里我们定义了两个文件后缀fcgi和fpl,当然你也可 以自己增加其他后缀)。就这样最简单的APACHE FastCGI配置就已经完成了。
完成您的第一个FastCGI程序! 用PERL写FastCGI是最方便不过了,有的只需要增加(修改)几行代码即可完成。下面我们来完成第一个FastCGI 程序。 现在大部分都使用ActivePerl的PERL解释器,如果你还没有,请下载一个吧(下载二),FastCGI在PERL中 的实现我们采用一个名称叫FCGI的软件包(下载三),这个包中提供了一些基本的FastCGI函数,下面来进行安装 这个包,把FCGI.zip解压到任意目录,进入该目录后使用以下命令进行安装: ppm install FCGI.ppd 如果无以外就说明该软件包已经成功安装在你的系统中,然后该轮到写程序的时候了,我们这里写一个最简单的 计数器程序,程序代码如下:
把以上程序拷贝到一个后缀为fcgi或fpl的文件中,然后在浏览器中执行它即可。这时你按刷新就能看到计数器的值在不断的向上增加,通过这个原理,我们可以做出更多更好的程序,下面我们介绍一下留言本的编写技巧和原理。
FastCGI的编程技巧! 以上的程序只是一个简单的计数器,如果真正投放到应用中,我们也不能只写计数器呀。 下面我们来谈谈FastCGI编 些留言本的一些使用技巧,编写留言本不像计数器只增加数字就可以了,留言本有很多字段,最简单的也要包含姓名 和内容,这样一来,访问时候就会带有很多参数值,FastCGI在获取这些参数值的时候和一般的PERL程序不一样,因 为FastCGI程序一直在内存中工作,如果使用一般的参数读取方法,很容易产生混淆,以导致程序无法正常工作。所以 我们使用另外一个模块CGI中的子集Fast(备注:CGI是一个相当出名的模块,其中包含的函数相当丰富,比如上传、获 取表单、浏览器COOKIE值、Server Push等等),下面来看看留言本的编写过程:
作者结束语:试用了以上的程序有何感想?是不是速度飞快?该文章是作者使用FastCGI后的一些经验和感想,如果文章中出现语法错误或系统错误,请大家不吝赐教 下载一:http://www.fastcgi.com/dist/mod_fastcgi.dll 下载二:http://www.activestate.com/ 下载三:http://www.activestate.com/PPMPacka...s-only/FCGI.zip
Powered by: PHP博客 Copyright © temptation