W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
模塊的功能開發(fā)完了之后,模塊的使用還需要編譯才能夠執(zhí)行,下面我們來看下模塊的編譯和使用。
對于開發(fā)一個模塊,我們是需要把這個模塊的 C 代碼組織到一個目錄里,同時需要編寫一個 config 文件。這個 config 文件的內容就是告訴 Nginx 的編譯腳本,該如何進行編譯。我們來看一下 hello handler module 的 config 文件的內容,然后再做解釋。
ngx_addon_name=ngx_http_hello_module
HTTP_MODULES="$HTTP_MODULES ngx_http_hello_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_hello_module.c"
其實文件很簡單,幾乎不需要做什么解釋。大家一看都懂了。唯一需要說明的是,如果這個模塊的實現(xiàn)有多個源文件,那么都在 NGX_ADDON_SRCS 這個變量里,依次寫進去就可以。
對于模塊的編譯,Nginx 并不像 apache 一樣,提供了單獨的編譯工具,可以在沒有 apache 源代碼的情況下來單獨編譯一個模塊的代碼。Nginx 必須去到 Nginx 的源代碼目錄里,通過 configure 指令的參數(shù),來進行編譯。下面看一下 hello module 的 configure 指令:
./configure --prefix=/usr/local/nginx-1.3.1 --add-module=/home/jizhao/open_source/book_module
我寫的這個示例模塊的代碼和 config 文件都放在/home/jizhao/open_source/book_module
這個目錄下。所以一切都很明了,也沒什么好說的了。
使用一個模塊需要根據(jù)這個模塊定義的配置指令來做。比如我們這個簡單的 hello handler module 的使用就很簡單。在我的測試服務器的配置文件里,就是在 http 里面的默認的 server 里面加入如下的配置:
location /test {
hello_string jizhao;
hello_counter on;
}
當我們訪問這個地址的時候, lynx http://127.0.0.1/test
的時候,就可以看到返回的結果。
jizhao Visited Times:1
當然你訪問多次,這個次數(shù)是會增加的。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: