日期:2014-05-16  浏览次数:20897 次

DSO开发指南晋级(APACHE2.0 MOD 模块开发)

APACHE2.0 MOD 模块开发 STEP 1

一. 目的

写一个 APACHE2.0 MOD 模块,读取配置,并对所有后缀为 .hello 的请求进行处理。

二. 步骤

创建一个 mod_hello.c 文件

1. 定义一个模块。

#include "httpd.h"

#include "http_config.h"

module AP_MODULE_DECLARE_DATA hello_module;

2. 定义接口。

module AP_MODULE_DECLARE_DATA hello_module =

{

??????? STANDARD20_MODULE_STUFF, // standard stuff; no need to mess with this.

??????? NULL, // create per-directory configuration structures - we do not.

??????? NULL, // merge per-directory - no need to merge if we are not creating anything.

??????? create_modhello_config, // create per-server configuration structures.

??????? NULL, // merge per-server - hrm - examples I have been reading don't bother with this for trivial cases.

??????? mod_hello_cmds, // configuration directive handlers

??????? mod_hello_register_hooks, // request handlers

};

说明:

其中 create_modhello_config 函数为用来为自定义的结构分配空间, mod_hello_cmds 定义了参数序列和参数的读取函数。 mod_hello_register_hooks 定义了请求处理函数

3. 初始化配置,读取配置。

配置结构的定义:

typedef struct {

??????? char?? *welcome;

??????? int??? max_process;

} modh