亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

在Apache服務器上運行mod_perl

添加時間:2011-2-25  添加: admin 

現在網上已經有大量的關于成功運行mod_perl模塊的介紹, 該模塊可以讓Perl程序員更
好地控制 Apache服務器。一旦Apache服務器中內置了mod_perl的Perl解釋器, Perl腳
本就可以快速執行,使得你的網頁的訪問者無需等待。

如果你打算擴展Apache Web server的功能,你可以試試mod_perl模塊的威力。模塊是個集成到一起的程序集合,可以讓網絡開發者擴展其服務器的功能,而無需修改服務器軟件自身。一旦有了模塊,你就可以增強服務器的功能,例如在指定的時間段內,可以重定向URL,或者也可以對你的服務器進行優化,以便讓Perl腳本運行得更快。
現已經有大量功能強大的mod_perl模塊的例子, 該模塊可以讓Perl程序員更好地控制其
Apache服務器。Apache服務器中內置了mod_perl的Perl解釋器, 使得Perl腳本可以快
速執行,你的網頁的訪問者就無需等待。
我將介紹兩個關于安裝模塊的例子,其中第二個例子將介紹mod_perl模塊。一旦你了
解了這個過程,你就可以為Apache網絡服務器配置其它各種不同的模塊。請看
Apache Module Registry,了解一下可以下載哪些增強的功能。

模塊入門

擴展使用模塊的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文件是用來編譯
成.so文件的,你要使用apxs命令來進行編譯,可以把編譯后的文件保存在任何地方,
你可以執行類似如下的命令:
apxs -c -o mod_babble.so mod_babble.c

為了讓Hello World模塊能夠在你的服務器上運行,就要編譯mod_hello_world,之
后,就會創建一個名為mod_hello_world.so的文件,把該文件復制到Apache的libexec目
錄中,此時,我們已經完成了一半的任務,我們現在只要修改conf目錄中的httpd.conf
文件:打開httpd.conf文件,找到LoadModule 行,在該部分的最后一行后面,添加如下行:

LoadModule hello_world_module libexec/mod_hello_world.so

如果你有ClearModuleList,在你的配置文件中就會有AddModule部分,(如果你
沒有ClearModuleList,你可以跳過此步)在AddModule部分的末尾,添加如下行:

AddModule mod_hello_world.c

最后,在配置文件的AddModule部分后面的任何一處,添加如下內容:

<Location /hello>
SetHandler hello_world
</Location>

該行告訴Apache,任何對名為"/hello"的頁面的請求,將會被轉到
hello_world模塊,現在,重新啟動網絡服務器,發出請求: http://localhost/hello.

你將在你的瀏覽器中看到"Hello World!" 。

選擇合適的模塊

我們現在遇到的最大問題是:在構造模塊時,只用到C語言編寫的模塊, 為了讓這
些程序能夠在特定的服務器上運行,這些源程序在編譯時還必須帶上正確的編譯開關。
在每次安裝Apache時,都必須重新編譯這些源程序。要了解使用哪些編譯開關的問題,
可以通過運行Apache附帶的apxs腳本來獲得,但是每次在新的服務器上運行時,都得重
新編譯該模塊,重新編譯始終是個問題。

有個模塊可以解決這些問題,而且該模塊還帶有更多其他的功能,這就是mod_perl模塊,
其功能很強大,本文只能為大家作一些該模塊的簡單介紹。

為什么使用mod_perl?

mod_perl 模塊的提供的一個特色是:可以用Perl語言來編寫Apache 模塊,Perl 是
解釋性語言,其優缺點并存。解釋性語言的一個主要優點是:每次安裝服務器時,不必重新
編譯這個模塊。缺點是需要一個解釋器來閱讀和執行實際的程序,這會降低服務器的運行速度,
通過在啟動Apache服務器的同時,啟動Perl解釋器,這樣mod_perl就克服了運行速度減慢的問題。
Perl解釋器還可以對服務器上的Perl代碼進行預先解釋,并可以隨時捕捉到它,以便一旦
要用到該段代碼時,能夠快速執行。

使用mod_perl
mod_perl可以從mod_perl中下載得到 。對于mod_perl的安裝和編譯的介紹,超出了本文的篇幅,
在網上和mod_perl模塊中就提供了不少技術參考資料。為了向大家演示Perl模塊的使用,
我下載并復制了Hello.pm,這是個用Perl語言寫的Hello World模塊。你可以在Perl 5 Module List中找到更多的Perl模塊。

現在,我們需要設置Apache服務器,以便它可以找到我們希望使用的模塊。一開始,
要使用mod_perl,我們需要創建一個名為startup.pl 的文件,該文件將為mod_perl所使用,
將會告訴mod_perl所有已安裝程序的位置。我們將創建一個最小的startup.pl 文件,可以
用它來訪問要運行的Hello World模塊,要使得其他模塊來說,也能夠正常工作,就需要
修改startup.pl 文件。在你的startup.pl 文件中,應包含如下內容:

# Always a good thing to put at the top of every mod_perl . This will
# save many headaches as you work.
use strict;

# Tell mod_perl where to find Hello.pm module
use lib qw(path/to/module)

# The name of the module to load using mod_perl
use Apache::Hello;

# This must return TRUE, and this line accomplishes that, and conveniently
# also checks to ensure that we are actually running mod_perl with our version
# of Apache.

$ENV{MOD_PERL} or die "not running under mod_perl!";


下一步,要使得Hello World模塊可以運行,就要對Apache服務器進行配置,以便
使用 mod_perl。在前面的例子中,我們使用了http://localhost/hello作為
訪問用C語言編寫的模塊的請求。 對于Perl模塊,我們使用hello_perl。要設置得正確,
就需要編輯httpd.conf 文件。在AddModule行后面的某處添加如下內容:





PerlRequire /path/to/startup.pl.

<Location /hello_perl>.
SetHandler perl-.
PerlHandler Apache::Hello.
</Location> .

PerlRequire行告訴mod_perl到何處去尋找我們先前已經創建的startup.pl文件。
標記為Location 的一節將告訴Apache服務器,對/hello_perl的請求應該用一個特殊
的方式進行處理。在該節里,存在兩個指示語:SetHandler和PerlHandler。
SetHandler指示語將告訴Apache,把所有的訪問請求發送到mod_perl,之后PerlHandler
就指示mod_perl應該把這些請求轉發到Hello World的Perl模塊。

僅剩下最后一個步驟了:把Hello.pm文件復制到適當的位置。一旦創建了startup.pl文件,
我們就規定好了Hello.pm模塊的位置。我們需要在那個位置創建一個目錄,把Hello.pm文件
復制到該Apache目錄中,所以,如果要在startup.pl 文件中把path/to/module設置
為/usr/local/apache/perl/modules,就可以執行如下命令:

mkdir /usr/local/apache/perl/modules/Apache
cp Hello.pm
/usr/local/apache/perl/modules/Apache

這就把Hello World模塊放到Apache名稱空間中,確保沒有其他的Perl腳本同它沖突。
此時, Apache和mod_perl都已經設置好,可以運行Hello World了。我們可以重啟動服務器。

關鍵字:Apache 服務器 運行 mod_perl

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站