天天看点

nginx模块开发之“test模块开发”

说明:博文中的大量实例均用截图的主要原因是想让大家多多动手练习。

      本片博文主要是通过一个小小的实例,跟大家分享nginx的HTTP模块开发,好了,废话少说,详情见下文:

首先定义自己的test模块,次模块在编译时将会被加入到ngx_modules全局数组中。

nginx模块开发之“test模块开发”

接下来定义ngx_http_module_t接口,因为我们不希望测试模块http框架初始化时做任何操作,所以不用实现ngx_http_module_t的8个回调方法,具体如下:

nginx模块开发之“test模块开发”

然后是定义ngx_command_t数组,并定义在出现test配置后,由ngx_http_test处理,如下图:

nginx模块开发之“test模块开发”

最后是头文件的引用及处理函数的定义,如下图:

nginx模块开发之“test模块开发”

因为我的模块是用来测试,做演示用的,功能较单一,只有两个函数,函数的具体实现代码:

nginx模块开发之“test模块开发”
nginx模块开发之“test模块开发”
nginx模块开发之“test模块开发”

nginx.conf中的配置如下:

nginx模块开发之“test模块开发”

编译步骤:

nginx模块开发之“test模块开发”

make

运行步骤:

./objs/nginx

    然后打开浏览器,输入你自己的http://IP/test    看看你自己的成果如何。

以上代码博主已亲自运行,确认可以出预期结果,如有疑问,可以留言。如果您对nginx 同样存在浓厚兴趣,可以尝试,期待。

继续阅读