本站网址: YippeeSoft开心软件
本文链接: perl 5 编程 mod_perl
mod_perl 是个庞大而复杂的工具,它内建了许多模块帮助你方便地构建动态网站。这篇指南的目的是帮助你构建一个良好的 mod_perl 模块,并从中理解 mod_perl 的实现技术。我并不推荐使用这里介绍的技术来建立一个大型站点,尤其对于一个刚刚涉足 mod_perl 的人来说。但我推荐大家可以深入看一下它的一些内建的方案,比如 Mason, AxKit, EmbPerl, Apache::ASP 和 PageKit 等等。
运行PPM www.yippeesoft.com
运行ppm> install http://theoryx5.uwinnipeg.ca/ppms/mod_perl.ppd
中间提示下载 mod_perl.so,指示路径到
O:\\php\\Apache Group\\Apache2\\modules
最后报告: www.yippeesoft.com
Fetching http://theoryx5.uwinnipeg.ca/ppms/x86/mod_perl.so … done!
Where should mod_perl.so be placed? [D:/Apache2/modules] O:/php/Apache Group/Apa
che2/manual
mod_perl.so has been successfully installed to O:/php/APACHE~1/Apache2/manual.
To enable mod_perl, put in the directives
LoadFile "C:/Path/to/Perl/bin/perl58.dll"
LoadModule perl_module modules/mod_perl.so
in httpd.conf. For more information, visit
http://perl.apache.org/
and especially see
http://perl.apache.org/docs/2.0/rename.html
Successfully installed mod_perl version 2.0.1 in ActivePerl 5.8.7.813.
按照它的说明,以及结合 www.yippeesoft.com
Win32平台Apache 2.0.52配置mod_perl
http://blog.csdn.net/fzjw/archive/2004/11/03/165856.aspx
修改HTTD.CONF
#
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
#AddHandler cgi-script .cgi www.yippeesoft.com
AddHandler cgi-script .cgi .pl
AddHandler perl-script .pl .cgi
LoadFile "O:/php/perl/bin/perl58.dll" www.yippeesoft.com
LoadModule perl_module modules/mod_perl.so
Alias /perl/ "O:/php/Apache Group/Apache2/perl/"
<Location /perl>
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
Options +ExecCGI
PerlOptions +ParseHeaders
</Location>
重新运行APACHE,在O:\\php\\Apache Group\\Apache2\\perl写一个PL文件
print "Content-type: text/plain; charset=iso-8859-1\\n\\n";
foreach $var (sort(keys(%ENV))) &leftsign;
$val = $ENV&leftsign;$var&rightsign;;
$val =~ s&line;\\n&line;\\\\n&line;g;
$val =~ s&line;"&line;\\\\"&line;g;
print "$&leftsign;var&rightsign;=\\"$&leftsign;val&rightsign;\\"\\n";
&rightsign; www.yippeesoft.com
原来的第一行 #!O:/php/perl/bin/Perl.exe 就可以不用了 www.yippeesoft.com
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脚本。
原创文章,转载请注明: 转载自YippeeSoft开心软件
本文链接地址: perl 5 编程 mod_perl
历史博文
- CopyFromScreen截屏 - 2009
- WordPress搬迁Mysql改表名改表编码 - 2009
- 东方红 1965 歌词 - 2008
- 20070412 rootkit 木马 清除 - 2007
- 0417 司帕沙星 - 2006
- perl7 编程 embperl安装1 - 2005
- perl6 编程 embperl 1 - 2005
- boblog搜索引擎优化SEO1关键字keywords标题title - 2005
评论