mod_perl 是个庞大而复杂的工具,它内建了许多模块帮助你方便地构建动态网站。这篇指南的目的是帮助你构建一个良好的 mod_perl 模块,并从中理解 mod_perl 的实现技术。我并不推荐使用这里介绍的技术来建立一个大型站点,尤其对于一个刚刚涉足 mod_perl 的人来说。但我推荐大家可以深入看一下它的一些内建的方案,比如 Mason, AxKit, EmbPerl, Apache::ASP 和 PageKit 等等。 运行PPM www.shengfang.org 中间提示下载 mod_perl.so,指示路径到 最后报告: www.shengfang.org Successfully installed mod_perl version 2.0.1 in ActivePerl 5.8.7.813. 按照它的说明,以及结合 www.shengfang.org 修改HTTD.CONF LoadFile "O:/php/perl/bin/perl58.dll" www.shengfang.org Alias /perl/ "O:/php/Apache Group/Apache2/perl/" 重新运行APACHE,在O:\php\Apache Group\Apache2\perl写一个PL文件 原来的第一行 #!O:/php/perl/bin/Perl.exe 就可以不用了 www.shengfang.org Mod_perl的简介 Mod_perl是为在Apache上提高perl执行效率而开发的一个模块,有了他就可以直接把 perl程序编译到Apache去,就象把php编译到apache里一样,能大幅度提高执行效率。 Mod_perl的原理 先让我们来看看一个CGI请求请求过程: web服务器首先启动一个新的进程,并请求perl解析器对脚本进行解析,然后执行,并 返回输出结果。 也就是说,对于每个新的用户对CGI进行请求时服务器都要使用perl解析器对脚本进行重新 的解析,这样很大程度影响了脚本的执行效率。另外由于CGI请求与普通http请求一样都是 进程管理,当脚本执行完成后马上退出内存,但是当服务器响应率很高的时候,同一个时 间有上千个请求的时候,进程队列就会非常拥挤,而且每个单独的进程都会消耗一定的内 存。这就是所谓的‘运行CGI程序的瓶颈’。 而mod_perl正是针对这一点而设计的,当服务器第一次请求mod_perl程序的时候,web服务 器会在内存中编译并加载该程序,当程序完成后并不退出内存,当有新的对该程序的请求 的时候,就无需启动perl进行解析,同时由于线程的响应,因此同一时间内不会耗费更多 的内存,从而达到提高perl-cgi的执行效率,及降低系统资源。 但是盲目的使用mod_perl也有副作用,因为当服务器每次加载一个perl线程时都要占用 内存,而且不象进程那样,执行完成以后退出内存,因此会导致服务器内存耗光。 因此采用Mod_per比较适合下载如下的脚本: 常用的Perl模块DBI GD CGI.pm 等,以及 请求比较繁忙的CGI脚本。 字体:大 中 小 |
![]() | 永久地址 http://www.shengfang.org/blog/p/perl4mod_perl.php |
![]() | 引用地址 http://www.shengfang.org/blog/tb.php?tb_id=1126668428 |
2005年9月14日11:27星期三 [Dev开发]





