cgi是什么程序
CGI 是 Common Gateway Interface 缩写。它是网站端的处理程序。
Interface -- 接口。 浏览器<-->接口<-->服务器
当用户用浏览器阅读网页时,揿了网页上的按钮,例如“确定”按钮,“提交”按钮(实际上含在 HTTP 语言 <FORM></FORM>标签中的),浏览器会发送一串数据和请求到服务器(具体的数据由网页内容决定,一般数据由浏览器种类决定),<FORM> 里的 ACTION="" 就是 cgi 程序名。也就是由网站端的这个处理程序。cgi 程序 处理完毕,给浏览器送回一个新页。
cgi 程序可以用 许多种 语言 来写,可以是脚本语言,也可以是编译预言。常用的有 perl, sh, php, C, C++ 等。
并非所有的按钮按了都通过cgi 程序处理,有些只是像钮按,实际上是链接<A HREF=""></A>
添加 ISAPI 和 CGI 限制
主要有四种方式:①使用用户界面 (UI)。②在命令行窗口中运行 Appcmdexe 命令。③直接编辑配置文件。④编写 WMI 脚本。
一:使用用户界面(UI)
1、打开 IIS 管理器,然后导航至您要配置的级别。
2、在“功能视图”中,双击“ISAPI 和 CGI 限制”。
3、在“操作”窗格中,单击“添加”。
4、在“添加 ISAPI 或 CGI 限制”对话框的“ISAPI 或 CGI 路径”文本框中键入该 dll 或 exe 文件的路径,或者单击浏览按钮 () 导航至该文件的位置。
5、在“描述”文本框中,键入有关限制的简要描述。
6、选中“允许执行扩展路径”,以允许限制自动运行。 如果未选中此选项,限制的状态将默认为“不允许”。 以后,您可以通过选择限制并在“操作”窗格中单击“允许”来允许该限制。
7、单击“确定”。
二:命令行
若要添加 ISAPI 和 CGI 限制,请使用以下语法:
appcmd set config /section: isapiCgiRestriction /+"[path=' string ',description=' string ',allowed='True | False']"
变量 path string 是 CGI 或 ISAPI 程序的 path。 变量 description string 用于描述该 CGI 或 ISAPI 程序。 allowed 属性用于确定 IIS 是否可以运行该 CGI 或 ISAPI 程序。 例如,若要创建启用 ISAPI 扩展 Test ISAPI 的 ISAPI 限制,请在命令提示符处键入以下命令,然后按 Enter:
appcmd set config /section: isapiCgiRestriction /+"[path=' %windir%\system32\inetsrv\testdll ',description=' Test ISAPI ',allowed='True']"
三:配置
本主题中的过程会影响以下配置元素:
,此元素在如下元素下面:
四:WMI
请使用以下 WMI 类、方法或属性执行此过程:
IsapiCgiRestrictionSectionAdd
相关知识点介绍:
ISAPI 和 CGI 限制是允许在服务器上执行动态内容的请求处理程序。 这些限制为 CGI 文件 (exe) 或 ISAPI 扩展 (dll)。 如果 IIS 配置系统允许添加自定义 ISAPI 或 CGI 限制,则您可以添加它们。
1、 安装需要的软件
2、 配置iis的完全过程
3、 举例说明:安装一个cgi留言本
(给新手:电脑上一定要已经装上了iis,iis在windows2000 ser和winnt是默认安装的,而windows2000 pro却要手工安装。手工安装可在“控制面版”à“添加/删除”à“添加/删除windows组件”中选择,打开ie输入127001,出现iis的页面,表示安装成功)
如果你的操作系统是windows nt的话,那你还有一项要做,就是要安装instmsiexe这个程序安装器,你可以在nt的系统盘里找到这个程序安装器。(注意:只是操作系统为nt才需要安装,如果你用的是win2k,那你就可以跳过这步了)。安装很简单,这里不说了,安装完需要重启一遍。
一、安装需要的软件
我们知道windows2000或者winnt的iis是默认支持asp的,但是对cgi和perl却要手工调试,所以我们要安装activeperl,
首先安装activeperl, 他会问你安在哪个盘下,输入全路径名(如f:\perl),剩下的基本上就是一路都是“y”安装完后,你可以在你所安装的盘下找到perl(或者你自己设定的文件夹),同样,安装完后同样需要重启计算机。
二、配置iis的完全过程
ok!一切安装任务全部完成了,下面我们就该来配置iis,打开“我的电脑”à“控制面板”à“管理工具”à“internet服务管理器”中右击“默认web站点”选择属性,在web站点选项卡中看一下web站点标示àip地址是否为127001,其余的可以默认。
然后选择主目录选项卡,察看一下本地路径是否为你的inetpub的路径(这里建议把c盘下inetpub的默认路径改一下,如:可以挪到其他盘的目录下,这样相对安全一些,如果你的默认路径改了,那么这里的本地路径就要作相应调整,否则iis会报错)
我们先建立cgi和pl的映射,我们安装完activeperl,服务器已经可以执行perl和cgi程序了,但并不是默认运行,需要我们手工设置一下映射,
1、“我的电脑”à“控制面板”à“管理工具”à“internet服务管理器”中右击“默认web站点”选择属性,
2、选主目录选项卡[如图2],点击配置à添加。
4、 输入c:\perl\bin\perlexe %s %s(两个%s中间有空格),
5、 扩展名添cgi,,
6、 检查脚本是否存在打上勾。
7、 如果是win2000“动作”中添入get,head,post [如图3]。(如果是nt则这一步不作。)
然后回到主目录选项卡,重复刚才这7个步骤,只是在第5个步骤中扩展名改成pl[如图4]
现在我们要建立虚拟路径,如果没有这一步可是不行的,(给新手:什么是虚拟路径?如wwwitsfocusnet /bbs/its/indexhtm中的/bbs/its/indexhtm就是虚拟路径。什么是绝对路径?如:f:\myhome\bbs\its\indexhtm就是绝对路径)知道了什么是虚拟路径,现在我们来建一个虚拟路径,
1、 在任意一个盘下建一个文件夹,文件夹名可以任意起,这里我起名叫myhome(当然你可以随便起,这个名字会显示在你的url后面,如127001/myhome/)[如图5],这就是你要映射的cgi脚本目录。
2、 然后我们点击“我的电脑”à“控制面板”à“管理工具”à“internet服务管理器”从中点击你的计算机名,选择右击“默认web站点”,选择新建à虚拟目录[如图6],
3、 单击下一步,在别名出添入一个名字,这就是虚拟目录的名字,然后选择你建的绝对路径(就是就是刚才我们建的f:\myhome),
4、 然后在访问权限中选择读取、运行脚本、执行,然后一路回车,这就完成了~~~,现在我们就可以把自己的cgi脚本放在f:\myhome下。最后别忘了重启一下。ok了~~~
三、安装一个cgi留言本
我们下面来安装一个cgi的留言本,就算是实战了,我就拿前不久炒的挺火的agb留言本来作咱们今天的例子吧!先将从网上下载下来的留言本解压缩至任意一个目录下,然后我们在f:\myhome\下建一个agb的目录,在将解压缩的脚本文件复制到agb下。
现在打开浏览器,输入安装的脚本文件127001/myhome/agb/installcgi[如图7]就可以看到你的留言本了。说明一下:大家可能看出来了myhome 后边的路径就是映射的绝对目录的路径,所以往后可以以此类推,只要将你要调试的脚本放在你建的虚拟目录下,然后在浏览器中输入其路径就可以访问了,留言本是这样,论坛也是,大家可以自己试一下。(也许你会问:你怎么知道是installcgi?agb的帮助文件中写的呀!)
最后添写一些相应内容,看!! 我的留言本也做好了,可以进行测试了!!![如图8]
希望大家能从这篇文章中学到些什么,那样的话我写文章的目的也就达到了,当然如果你有什么意见或者还有什么不明白的可以直接问我,我会很乐意为大家解答问题!
什么是CGI
CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。
CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等
什么是FastCGI
FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。
FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail- Over特性等等。
0条评论