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

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

在Apache服務(wù)器上運行mod_perl

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

現(xiàn)在網(wǎng)上已經(jīng)有大量的關(guān)于成功運行mod_perl模塊的介紹, 該模塊可以讓Perl程序員更
好地控制 Apache服務(wù)器。一旦Apache服務(wù)器中內(nèi)置了mod_perl的Perl解釋器, Perl腳
本就可以快速執(zhí)行,使得你的網(wǎng)頁的訪問者無需等待。

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

模塊入門

擴展使用模塊的Apache是相當(dāng)方便的, 只要下載打算要用的模塊。要了解如何
安裝和使用模塊,我用如下一個簡單的例子來闡明:當(dāng)服務(wù)器接收到一個給定頁面
的請求時,服務(wù)器返回"Hello World"。

假設(shè)你已經(jīng)完成如下工作:在Apache安裝時,已經(jīng)帶有了編譯過的 mod_so模塊,如果
已經(jīng)完成該步,就可以添加新模塊到Apache中,而無須再編譯。為了判斷是否已經(jīng)安裝
編譯過的 mod_so模塊,可以運行/httpd -l , 看看是否有mod_so。 如果沒有,
請閱讀Dynamic Shared Object的中有關(guān)技術(shù)資料,重新配制你的服務(wù)器,以便包含mod_so。

要運行Hello World模塊, 先要下載mod_hello_world.c 文件,該.c文件是用來編譯
成.so文件的,你要使用apxs命令來進行編譯,可以把編譯后的文件保存在任何地方,
你可以執(zhí)行類似如下的命令:
apxs -c -o mod_babble.so mod_babble.c

為了讓Hello World模塊能夠在你的服務(wù)器上運行,就要編譯mod_hello_world,之
后,就會創(chuàng)建一個名為mod_hello_world.so的文件,把該文件復(fù)制到Apache的libexec目
錄中,此時,我們已經(jīng)完成了一半的任務(wù),我們現(xiàn)在只要修改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部分后面的任何一處,添加如下內(nèi)容:

<Location /hello>
SetHandler hello_world
</Location>

該行告訴Apache,任何對名為"/hello"的頁面的請求,將會被轉(zhuǎn)到
hello_world模塊,現(xiàn)在,重新啟動網(wǎng)絡(luò)服務(wù)器,發(fā)出請求: http://localhost/hello.

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

選擇合適的模塊

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

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

為什么使用mod_perl?

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

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

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

# 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服務(wù)器進行配置,以便
使用 mod_perl。在前面的例子中,我們使用了http://localhost/hello作為
訪問用C語言編寫的模塊的請求。 對于Perl模塊,我們使用hello_perl。要設(shè)置得正確,
就需要編輯httpd.conf 文件。在AddModule行后面的某處添加如下內(nèi)容:





PerlRequire /path/to/startup.pl.

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

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

僅剩下最后一個步驟了:把Hello.pm文件復(fù)制到適當(dāng)?shù)奈恢谩R坏﹦?chuàng)建了startup.pl文件,
我們就規(guī)定好了Hello.pm模塊的位置。我們需要在那個位置創(chuàng)建一個目錄,把Hello.pm文件
復(fù)制到該Apache目錄中,所以,如果要在startup.pl 文件中把path/to/module設(shè)置
為/usr/local/apache/perl/modules,就可以執(zhí)行如下命令:

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

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

關(guān)鍵字:Apache 服務(wù)器 運行 mod_perl

分享到:

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