|   
 UID1 威望1240 点 金钱24019 金币 点卡317 点 
 | 
1#
 发表于 2005-9-15 16:00 
 | 只看该作者 
 [分享]执行 mod_perl 模块
| 如果你正想要扩增你的 Apache 网页服务器 的功能,你或许应该看看模块所能 带给你的是什么。模块,是一个已经经过整合的程序代码,它可以让网页工程师们增加
 他们服务器的功能而不用更改服务器本身的程序代码。透过模块,你可以为你的服务器
 增添额外的新功能,像是在特定的时间内将 URL 地址转向,或者将你的服务器最佳化,
 好让 Perl 的 script 跑得快一点。
 我们听过很多人成功的利用了mod_perl 威力的 故事,这是一个提供给 Perl 软件工程师,
 好让他们能够更随心所欲的控制他们的 Apache 服务器的工具。而透过内建在服务器中
 的 mod_perl 解译器,Perl script 的处理速度变得很快,你的网页用户从此以后就不用再等了。
 在这里我会提供你两个安装模块的范例,其中第二个范例会讲解如何安装 mod_perl。
 一旦你学会了整个安装过程,你就能够举一反三,用同样的方式为你的 Apache 网页服务
 器安装各式各样不同的模块。你不妨到 Apache 模块注册网页,看看有什么额外的功能
 模块可以让你下载的。
 
 透过模块扩展你的服务器
 模块初阶
 利用模块提升 Apache 功能的过程十分简单。一开始,先下载
 你要使用的模块。为了要示范如何安装及使用模块,在这里笔者写了一个简单的模块,这
 个模块会使得服务器在每次接到来自使用者的网页请求时,会响应 "Hello World"。
 以下的说明假设当初你在安装 Apache 时,有编译并安装过 mod_so 这个模块,
 如果当初你这样做,那么以后你将新的模块加到 Apache 时,就不用再重新编译了。
 要看看你当初是否安装过 mod_so,执行 /httpd -l然后看看有没有 mod_so。
 如果没有,那你要阅读一下Dynamic Shared Object 支持手册,
 然后重新设定你的服务器,好把 mod_so 包括进来。
 要执行我的 Hello World 模块,你必须先下载 mod_hello_world.c 档案。这个 .c 档是我们透
 过 apxs 用来编译出.so 档的,你可以把它储存在任何地方。然后你要执行以下指令
 apxs -c -o mod_babble.so mod_babble.c
 如此一来 mod_hello_world 就已经编译好,准备在你的服务器中使用,而 mod_hello_world.so 也在这个时候产生;将这个档案拷贝到你的 Apache 安装目录的
 libexec 子目录下。到现在,我们就已经完成一半的工作了。接下来我们要更改在 conf
 子目录下的 httpd.conf 檔。打开 httpd.conf 然后搜寻有着 LoadModule 字样的那几行。
 在这些行所在的 section 的最尾端,新增以下这一行文字
 LoadModule hello_world_module libexec/mod_hello_world.so
 如果你在 http.conf 中有 ClearModuleList,那么在这个档里面一定有一个
 AddModule 的 section 存在。(如果你没能找到 ClearModuleList,你就可以跳过
 这一步。)在 AddModule section 的尾端,加入该行文字
 AddModule mod_hello_world.c
 最后,在 AddModule section 之后的任何地方,加入以下几行:
 <Location /hello>
 SetHandler hello_world
 </Location>
 这是跟 Apache 说,对任何 "/hello" 网页的请求,都要交由
 hello_world 模块来处理。
 现在,重新激活你的网页服务器,然后打入以下 URL 的请求 http://localhost/hello。
 现在,你应该可以在你的浏览器上看到 "Hello World!"。
 
 | 
 
| 我是一个呼吸着现在的空气而生活在过去的人
 这样的注定孤独,孤独的身处闹市却犹如置身于荒漠
 我已习惯了孤独,爱上孤独
 他让我看清了自我,还原了自我
 让我再静静的沉思中得到快乐和满足
 再孤独的世界里我一遍又一遍
 不厌其烦的改写着自己的过去
 延伸到现在与未来
 然而那只是泡沫般的美梦
 产生的时刻又伴随着破灭的到来
 在灰飞烟灭的瞬间我看到的是过程的美丽
 而不是结果的悲哀。。。
 
 |  |