在之前的工作中,我使用ngx_http_send_header和ngx_http_output_filter响应客户端。但是在实际的测试中遇到很多问题,例如ngx_http_output_filter在某些时候常常返回NGX_ERROR或是NGX_AGAIN。所以我不得不深入这个函数,找出其中的原因。

继续阅读

在nginx的配置文件中设置了proxy_path xxxxxx 的命令后,客户端针对nginx发出的请求就会被转向后端服务器。如果此时nginx开启了缓存的功能并且后端服务器为其发出的包指明过期时间,nginx就成为了一个缓存服务器,以缓解后端服务器的压力。可是当大量的用户同时请求nginx上的某一过期或是不存在的数据时,这些请求会被nginx全部转到上游服务器,这样就会给源服务器很大压力。我开始阅读相关源代码,试图解决这个问题。

继续阅读