您的位置:首页 > 运维架构 > Nginx

nginx中handle模块开发总结1

2014-04-17 17:15 232 查看
之前用网上搜的hello world模块在机器上跑了一遍。然后今天按照自己的意愿把模块修改。然后遇到一些问题,现在总结一下:

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

(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值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: