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

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

handler 模塊的編譯和使用

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

config 文件的編寫

對于開發(fā)一個模塊,我們是需要把這個模塊的 C 代碼組織到一個目錄里,同時(shí)需要編寫一個 config 文件。這個 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í)文件很簡單,幾乎不需要做什么解釋。大家一看都懂了。唯一需要說明的是,如果這個模塊的實(shí)現(xiàn)有多個源文件,那么都在 NGX_ADDON_SRCS 這個變量里,依次寫進(jìn)去就可以。

編譯

對于模塊的編譯,Nginx 并不像 apache 一樣,提供了單獨(dú)的編譯工具,可以在沒有 apache 源代碼的情況下來單獨(dú)編譯一個模塊的代碼。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

我寫的這個示例模塊的代碼和 config 文件都放在/home/jizhao/open_source/book_module這個目錄下。所以一切都很明了,也沒什么好說的了。

使用

使用一個模塊需要根據(jù)這個模塊定義的配置指令來做。比如我們這個簡單的 hello handler module 的使用就很簡單。在我的測試服務(wù)器的配置文件里,就是在 http 里面的默認(rèn)的 server 里面加入如下的配置:

    location /test {
            hello_string jizhao;
            hello_counter on;
    }

當(dāng)我們訪問這個地址的時(shí)候, lynx http://127.0.0.1/test 的時(shí)候,就可以看到返回的結(jié)果。

jizhao Visited Times:1

當(dāng)然你訪問多次,這個次數(shù)是會增加的。