2011年9月8日星期四

windows nginx 搭建 perl fastcgi学习环境


windows nginx 搭建 perl fastcgi学习环境
2010年06月13日 星期日 上午 00:08
面对大规模的 web 访问,现在比较流行的方式就是采用 fastcgi 的方式进行处理,我们先看一下 fastcgi 的特点:
1. FastCGI 像是一个常驻 (long-live) 型的 CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去 fork 一次 (这是 CGI 最为人诟病的 fork-and-execute 模式)。
2. FastCGI 可在任何平台上使用,Netscape Enterprise 及 IIS 都有 FastCGI 的模块可供使用,阿帕奇 (Apache,以及利用 Apache 衍生出做的服务器) 上也有 mod_fastcgi 可用。
3. FastCGI 支持 C/C++、Java、PHP、Python、Ruby、Perl,Tcl 等程序语言。
4. FastCGI 的应用程序亦兼容于 CGI。即 FastCGI 的应用程序也可以当成 CGI 来执行。
5. 现有的 CGI 程序要改写成 FastCGI 非常简单,最少可能只需要多加入三行程序代码。
6. FastCGI 的侦错方式与 CGI 大同小异,只要带入程序所需的环境变量及参数,即可在命令列模式执行或侦错。
7. FastCGI 应用程序的写作方式与 CGI 类似,除了几项原则要特别注意外,FastCGI 的写作方式跟 CGI 几乎一样,与学习 Web Server API 比较起来, FastCGI 简单多了。
8. FastCGI 支授分布式运算 (distributed computing),即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。
现在我们在 windows 上搭建一个简单的 fastcgi 运行平台,可以进行学习开发 fastcgi。
1.下载 nginx for windows 版本,下载地址:http://www.kevinworthington.com/wp-content/uploads/2009/04/nginx-0747-win32-setup.exe, 并安装,安装在 C:\nginx。
2.下载 perl,并安装,安装在 C:\Perl,并把 D:\Perl\bin 添加到 系统环境变量 Path 后面,与前面的字串用 分号(;) 分隔开

3.安装 perl fastcgi 模块,打开windows cmd,输入 ppm,就会弹出一个 Perl Package Manager

4.配置 nginx,在nginx 安装目录下 conf 目录中找到 nginx.conf 文件,编辑。找到这几行,并修改成:
location ~ \.fcgi$ {
  root html;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.fcgi;
  include fastcgi_params;
}
5.编写 perl fastcgi 脚本 test.fcgi,代码如下:
#!C:/Perl/bin/perl.exe
use FCGI;

my $socket = FCGI::OpenSocket( "localhost:9000", 5 );
my $request = FCGI::Request( \*STDIN, \*STDOUT, \*STDERR, \%ENV, $socket );

my $count;
while( $request->Accept() >= 0 ) {
  print "Content-type: text/html\r\n\r\n";
  print "nums is .. ";
  print ++$count;
}

FCGI::CloseSocket( $socket );
6.启动 nginx,打开windows cmd 切换到脚本所在的目录,运行:perl test.fcgi
7.开启浏览器,输入 http://127.0.0.1/test.fcgi, 即可看到运行结果,不停的刷新浏览器,结果会累加,可以开多个浏览器同时访问。
至此,环境搭建完毕。

没有评论:

发表评论

上海松善实业有限公司

    上海松善实业有限公司是一家集多品牌销售于一体的电线电缆骨干企业,公司成立于2016年。 公司拥有国内各大品牌:起帆、远东、上上、江南、胜华等。     主要产品有:高低压电力电缆、橡套电缆、控制电缆、架空绝缘电缆、塑胶电缆、电子计算机电缆、通讯电缆、...