nginx中handle模块开发总结1-创新互联

之前用网上搜的hello world模块在机器上跑了一遍。然后今天按照自己的意愿把模块修改。然后遇到一些问题,现在总结一下:nginx中handle模块开发
总结1

(1)注意命名问题,即模块源代码文件命名以及源代码里面变量命令。刚刚开始出出现一个问题,就是连接成最后的二进制文件时,找不到我写的模块,然后看了下发现config文件中的模块命名与源代码中模块命名不一致。

创新互联建站自2013年起,是专业互联网技术服务公司,拥有项目做网站、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元泉山做网站,已为上家服务,为泉山各地企业和个人服务,联系电话:13518219792

(2)我要修改返回给用户的数据部分,这部分可以放在filter模块去操作,也可以在handler模块实现,即改变ngx_chain_t数据链即可,ngx_chain_t被申明为ngx_chain_s链表,可以在改链表的任何地方添加数据。添加数据即创建ngx_chain_t节点即可,然后连接到ngx_chain_s链表上,示例代码如下:

out.next = &out_time;//out_time是我创建的新的节点,并在里面填写数据

      out_time.next=NULL;//注意改out_time变量buf成员赋值

(3)使用curl命令发请求测试,发现curl命令处理完之后一直在等待,仔细看了下是因为

 r->headers_out.content_length_n 的值大于数据体中的数据大小,因此把该部分设置为与数据体数据部分大小一样的值即可。收到了的数据大小就等于content_length_n值。


当前标题:nginx中handle模块开发总结1-创新互联
文章URL:http://cdiso.cn/article/hsisp.html

其他资讯