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