在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ handler 模塊的編譯和使用
示例: hello handler 模塊
什么是 Nginx
handler 模塊的掛載
Nginx 特點(diǎn)
handler 模塊簡(jiǎn)介
初探 Nginx 架構(gòu)
Nginx 的模塊化體系結(jié)構(gòu)
更多 handler 模塊示例分析
Nginx 基礎(chǔ)概念
upstream 模塊簡(jiǎn)介
Nginx 的請(qǐng)求處理
過濾模塊簡(jiǎn)介
基本數(shù)據(jù)結(jié)構(gòu)
模塊的基本結(jié)構(gòu)
負(fù)載均衡模塊
過濾模塊的分析
core 模塊
handler 模塊的基本結(jié)構(gòu)
Nginx 的配置系統(tǒng)
handler 的編寫步驟
handler 模塊的編譯和使用
event 模塊

handler 模塊的編譯和使用

模塊的功能開發(fā)完了之后,模塊的使用還需要編譯才能夠執(zhí)行,下面我們來看下模塊的編譯和使用。

config 文件的編寫

對(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í)文件很簡(jiǎn)單,幾乎不需要做什么解釋。大家一看都懂了。唯一需要說明的是,如果這個(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è)簡(jiǎn)單的 hello handler module 的使用就很簡(jiǎn)單。在我的測(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ì)增加的。