说明:博文中的大量实例均用截图的主要原因是想让大家多多动手练习。
本片博文主要是通过一个小小的实例,跟大家分享nginx的HTTP模块开发,好了,废话少说,详情见下文:
首先定义自己的test模块,次模块在编译时将会被加入到ngx_modules全局数组中。
接下来定义ngx_http_module_t接口,因为我们不希望测试模块http框架初始化时做任何操作,所以不用实现ngx_http_module_t的8个回调方法,具体如下:
然后是定义ngx_command_t数组,并定义在出现test配置后,由ngx_http_test处理,如下图:
最后是头文件的引用及处理函数的定义,如下图:
因为我的模块是用来测试,做演示用的,功能较单一,只有两个函数,函数的具体实现代码:
nginx.conf中的配置如下:
编译步骤:
make
运行步骤:
./objs/nginx
然后打开浏览器,输入你自己的http://IP/test 看看你自己的成果如何。
以上代码博主已亲自运行,确认可以出预期结果,如有疑问,可以留言。如果您对nginx 同样存在浓厚兴趣,可以尝试,期待。
本片博文主要是通过一个小小的实例,跟大家分享nginx的HTTP模块开发,好了,废话少说,详情见下文:
首先定义自己的test模块,次模块在编译时将会被加入到ngx_modules全局数组中。
接下来定义ngx_http_module_t接口,因为我们不希望测试模块http框架初始化时做任何操作,所以不用实现ngx_http_module_t的8个回调方法,具体如下:
然后是定义ngx_command_t数组,并定义在出现test配置后,由ngx_http_test处理,如下图:
最后是头文件的引用及处理函数的定义,如下图:
因为我的模块是用来测试,做演示用的,功能较单一,只有两个函数,函数的具体实现代码:
nginx.conf中的配置如下:
编译步骤:
make
运行步骤:
./objs/nginx
然后打开浏览器,输入你自己的http://IP/test 看看你自己的成果如何。
以上代码博主已亲自运行,确认可以出预期结果,如有疑问,可以留言。如果您对nginx 同样存在浓厚兴趣,可以尝试,期待。