返回列表 回复 发帖

[分享]执行 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!"。

                     我是一个呼吸着现在的空气而生活在过去的人
               这样的注定孤独,孤独的身处闹市却犹如置身于荒漠
                                     我已习惯了孤独,爱上孤独
                                 他让我看清了自我,还原了自我
                             让我再静静的沉思中得到快乐和满足
                                   再孤独的世界里我一遍又一遍
                                   不厌其烦的改写着自己的过去
                                             延伸到现在与未来
                                       然而那只是泡沫般的美梦
                                 产生的时刻又伴随着破灭的到来
                         在灰飞烟灭的瞬间我看到的是过程的美丽
                                      而不是结果的悲哀。。。
返回列表