我们再看看如何用fastcgi来写这个程序: 示例二:number.fcgi #!/usr/bin/perl #为了使用fastcgi软件包,需要加入如下声明: use fcgi; #初始化段和cgi初始化段一样。 # variables my $end = 10; my $i; while (fcgiaccpet() 〉= 0) { # content header print ″content-type: multipart/x-mixed-replace;boundary=boundarynn″; #因为每个请求都要有相应的content-type头标来响应,所以我们把它也作为响应循环的主体代码段。 # main loop for ($i=0;$i〈$end;$i++) { print "$i〈br〉;} } exit 0; 因为fastcgi和服务器应用程序一样运行,所以只...
如何编写fastcgi应用程序 让我们先来看看fastcgi是如何运行的: 正如你看到的一样, fastcgi在处理一个请求后继续保持运行,以便在新的请求到来时能立即处理请求。所以 fastcgi程序通常包括初始化代码段和封装程序主体的响应循环段,当然初始化完成后,主体程序不断循环运行等待请求的到来。只有在这个 fastcgi应用程序被系统撤销时循环才结束。 fastcgi的另一个优点就是从cgi转向 fastcgi非常简单,我们先来看一个传统的cgi: 示例一:number.cgi #!/usr/bin/perl # variables my $end = 10; my $i; # content header print ″content-type: text/html;charset=gb2312n″; # main loop for ($i=0;$i〈$end;$i++) { ...
fastcgi的优点 我们知道,cgi是不能利用内存来作为缓存的,因为它为每一个请求运行一次应用程序,并在完成任务后退出。而 fastcgi可以很有效地利用内存来作缓存,大大地提高了它处理请求的性能。单独的fastcgi应用程序和 cgi相比,也许并没有很好地利用缓存,而一旦fastcgi被设计成多线程,就可以运行并发处理多请求的应用程序进程,这样多线程就可以共享进程内存而访问同一缓存。 fastcgi的另一大优点是它可以利用分布式网络系统来完成大规模的系统集成。一个网站,要完成用户的交互性要求,至少要具备电子邮件、bbs和聊天室这三大功能,考虑到数据安全性和数据库容量等因素,很少有网站把所有的数据都放在同一主机上。大家知道,由于进程环境原因,服务器只能调用本机的cgi应用程序,这就给多主机的分布式系统带来局限性。而fastcgi应用程序不从进程环境中获取cgi变量,而是在fastcgi...
linux作为自由软件的代表,给it行业带来了无限的发展空间。 linux的透明性,无论给开发人员还是应用人员都有一个充分发挥的余地,在以 linux系统为作业和平台上,更多的功能正在被不断地开发出来。像server push、fastcgi、eperl、php3等许多的新功能,正是在linux这样自由的土壤中才得以充分的发展。 一个网站的性能,主要表现在以下几个方面:系统响应时间、处理时间、用户等待时间和系统的输出负载,如果考虑经济因素还要加上技术成本。要提高网站的性能,在不改变硬件和网络结构的基础上,那么技术内涵就集中在优秀的程序上。目前来说,server push(推技术)和fastcgi两项新技术在完全不增加成本的基础上可以使你的网站达到最佳的性能。本文将详细介绍fastcgi技术。 什么是fastcgi 要说明一点,如果要使用fastcgi,你应该在以linux为作业系统的ap...
三. 这时候,数据库已经可以用了,我们来测试一下: #!/usr/bin/perl use win32::odbc; %24dsn = "ms access 97 database"; %24dbase = "access.mdb"; #连接数据库 if (!(%24db = new win32::odbc(%24dsn))){ print "连接数据库失败.n"; exit(); } else{ print "连接数据库成功 (连接号:", %24db->connection(), ")nn"; } #数据库中的表 print "数据库中的表:"; @tables = %24db->tablelist; print @tables; print "n"; #选择数据表 if (! %24db->sql("select * from [address] where age>=20") ){ @...
前题是必须安装好activeperl (505以上),以及ms access 97 一. 安装win32-odbc模块步骤1: 从tools栏目中下载win32-odbc.zip,下载完后用winzip解开到一个temp目录,共有三个文件: readme win32-odbc.ppd win32-odbc.tar.gz 步骤2: 在dos窗口下,temp目录中运行下面的dos命令: ppm install win32-odbc.ppd 二. 准备测试用数据库(access) 步骤1: 启动ms access,建立一个新空数据库,命名为odbctest.mdb,保存在某一目录中(记住路径)。 步骤2: 然后新建一个表,建立三个字段: 字段名称 数据类型 name 字符,长度50 email 字符,长度50 age 数字,长整型 将这个表保存为address(注意这个例子中,没有用自动增加的i...
2.5 安装 fcgi 模块 for perl 如果要使用 perl 来撰写 fastcgi 的程序,必须安装 fcgi.pm 这个模块,安装的方法如下: 1. 下载 fcgi-0.45.tar.gz 并且解开 %24 gunzip -c fcgi-0.45.tar.gz tar xvf - 2. 编译及安装 %24 perl makefile.pl %24 make %24 make install 3. 测试 %24 cp echo.fpl /usr/local/www/fcgi-bin %24 lynx http://localhost/fcgi-bin/echo.fpl 如果顺利的话,应该会看到如下的结果: fastcgi echo (perl) request number 1 no data from standard input. request environment: document_roo...
2.3 安装 fastcgi 开发套件 1. 下载 fcgi-devkit-2.1.tar.gz 并且解开: %24 gunzip -c fcgi-devkit-2.1.tar.gz tar xvf - 2. 编译 %24 cd fcgi-devkit-2.1 %24 ./configure %24 make 3. 将 c 的标头档 (header file) 及函式库 (library) 安装至系统: %24 cp -rp include /usr/local/include/fastcgi %24 cp libfcgi/libfcgi.a /usr/local/lib 2.4 测试 fastcgi 在 fcgi-devkit 套件中内含一个简单的 fastcgi 范例程序 - echo.c,我们用它来做测试系统是否安装正确。直接把已经编译好的 echo.fcg 复制到预设放置 fastcgi 程序的目录下: ...
2.1.2 将 mod_fastcgi 安装成一个 dso 假设你已经在系统上安装好 apache 1.3 版以上,并且你的平台支持 dso (dynamic shared object) 的方式动态加入模块,那么你可以透过 apxs (apache extension tool) 将 mod_fastcgi 安装成一个 dso 模块。 1. 下载 mod_fastcgi_2.2.2.tar.gz 并且解开: %24 gunzip -c mod_fastcgi_2.2.2.tar.gz tar xvf - 2. 编译 mod_fastcgi 模块成 dso: %24 cd mod_fastcgi_2.2.2 %24 /usr/local/apache/sbin/apxs -o mod_fastcgi.so -c *.c 3. 安装 %24 /usr/local/apache/sbin/apxs -i -...
2.1.1 标准安装 (利用 apaci) 1. 首先下载 apache_1.3.6.tar.gz 及 mod_fastcgi_2.2.2.tar.gz ,解开: %24 gunzip -c apache_1.3.6.tar.gz tar xvf - %24 gunzip -c mod_fastcgi_2.2.2.tar.gz tar xvf - 2. 把 mod_fastcgi 的原始码复制到 apache 的目录下:%24 cp -rp mod_fastcgi_2.2.2 apache_1.3.6/src/modules/fastcgi 3. 设定 apache 加入 mod_fastcgi 模块: %24 cd apache_1.3.6 %24 ./configure -activate-module=src/modules/fastcgi/libfastcgi.a -enable-module=inf...
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器