之前跟版主请教过这个问题。他的建议是用Handler来做。
由于对Nginx的整个运行机制,架构都不是很熟悉。现在在看Emiller's Guide To Nginx Module
Development,但是里头涉及到的一些概念让我很是模糊。
所以对一个Handler如何来写,需要提供什么ctx,提供什么callbacks都不是很清楚?
恳请大家一起给指点迷津。
非常感谢
如果你准备自己实现 WEB Service的API,那么就要开发个handler,自己解析soap消息,执行API,返回API结果。
如果这样的话,有一个需要注意地方: nginx是基于事件驱动的,你也最好用事件驱动方式来做,不要阻塞了后续的请求。
On 5月20日, 下午3时58分, Ken <ken.s...@gmail.com> wrote:
> 如何写 nginx module 是找对了方向
>
> 但是不应该使用这么重量级的解决方案,fastcgi 应该是个不错的方案
>
> 2009/5/20 bartholo <wenxing.zh...@gmail.com>
1.解析和生成SOAP
2.更新共享内存。
祝你好运。
Nginx先根据请求找到相应的location,再把请求给location的handler函数调用,
如果找不到,就用默认的 ngx_http_static_module处理。
###############################################################
如果你了解apache的模块的话,其实这些都是类似的。慢慢看EMiller的文档吧,
这些东西他基本上都涉及了,急不来的。
--
Weibin Yao
2、调试输出函数用ngx_log_debugN,其中'N'表示有几个输出参数,比如:
ngx_log_debug1(NGX_LOG_DEBUG_HTTP, ctx->r->connection->log, 0,
"num_head <%d>", num_head);
该函数的第一个参数就是与debug_http对应,表明属于哪块输出。
第二个参数输出日志,每次都要指定。
第三个参数是errno,调试函数可以打印系统错误号对应的错误描述,一般为0,不
指定错误。
第四个参数典型的不定参数,与printf类似。Nginx的参数与printf类似,但也有
一些不同,主要是‘%’后面的参数有些不同,如果想了解全部,建议看看
src/core/ngx_string.c中ngx_vsnprintf函数的实现。
3、错误输出用ngx_log_error函数实现。第一个参数与ngx_log_debugN不同,表示
输出的错误级别,比如是|一般性的 error还是warn等等。|
--
Weibin Yao
On 5月20日, 下午6时17分, Weibin Yao <nbubi...@gmail.com> wrote: