• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • [轉貼]在Apache服務器上運行mod_perl

    發表于:2007-05-25來源:作者:點擊數: 標簽:
    在Apache服務器上運行mod_perl 本文出自:www.z .net .com.cn作者:(2001-12-2407:10:00) 現在網上已經有大量的關于成功運行mod_perl模塊的介紹,該模塊可以讓Perl 程序員 更 好地控制Apache服務器。一旦Apache服務器中內置了mod_perl的Perl解釋器,Perl腳 本就

    在Apache服務器上運行mod_perl 
    本文出自:www.z.net.com.cn 作者: (2001-12-24 07:10:00) 
    現在網上已經有大量的關于成功運行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 script. 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 script must return TRUE, and this line aclearcase/" target="_blank" >ccomplishes 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-script.
    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了。我們可以重啟動服務器。
    一旦服務器重啟動之后,在你的瀏覽器位置欄打入 http://localhost/hello_perl,你可以看到如下信息: 

    Hello, I see you see me with Lynx/2.8.3dev.8 libwww-FM/2.14 

    本文介紹了如何添加外部模塊到現有的Apache服務器中, 在網上,除了用C語言
    和Perl語言編寫的模塊之外,也有一些用 Python 語言寫的模塊可供你下載,并配置到Apache服務器中,
    本文也介紹如何自己編寫模塊,并配置到Apache服務器中的資料。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>