|
<!--HTML_BEGIN--> 执行 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!"。 <!--HTML_END--> |