執行 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!"。
(http://www.fanqiang.com)
進入【