日期:2014-05-16 浏览次数:21264 次
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