2014-08-28 56 views
1

我正在用C#/ Mono写一个FastCGI应用程序接口库,使用Nginx作为Web服务器,在一个普通的'Linux Linux机器上运行(Vagrant和/或EC2)。我正在努力使我的实施符合FastCGI 1.0 spec。因此,我准备收到FCGI_GET_VALUES记录,并用FCGI_GET_VALUES_RESULT回复。不过,我的经验是,Nginx FastCGI不会发送这个。所以,我试图回答的问题:Nginx + FastCGI使用管理记录?如果不是,那么什么?

(1)好的,网络服务器的不是要求发送FCGI_GET_VALUES,它是可选的。那么,它已经失效了吗?其他FastCGI服务器实现是否仍然使用它?有没有办法配置Nginx FastCGI来启用它? (2)三个定义的配置值返回到FCGI_GET_VALUES_RESULT记录中的Web服务器:应用程序将接受的最大并发传输连接数;该应用将接受最大并发请求;应用是否多路复用连接。如果缺少FCGI_GET_VALUES,那么使用这些设置来交流或配置Nginx的FastCGI模块还有哪些替代方法?

回答

1

1)最近我开始搜索支持FastCGI管理消息的开源Web服务器。我很快浏览了几个源代码,包括nginx。唯一看起来像是有代码发送FCGI_GET_VALUES的是OpenLiteSpeed。我在放弃使用FastCGI之前没有完全测试它,我认为它看起来并没有真正关注它所收到的价值。

2)我将我所知道的关于每个单独的参数:

FCGI_MAX_CONNS:不要以为有什么办法在nginx的直接指定。也许你可以做些什么http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html

OpenLiteSpeed有一个选项来限制到fastcgi服务器的连接数。

FCGI_MPXS_CONNS和FCGI_MAX_REQS:nginx不支持在单个连接上复用FastCGI。我找不到这样做的网络服务器。

仅供参考,我通过这些Web服务器的源代码,脱脂,和他们没有像他们发送FCGI_GET_VALUES:

的Apache2(的mod_fastcgi,mod_fcgi,mod_proxy_fcgi),Caudium服务器,猴子,海华沙,码头,lighttpd的,nginx,cherokee

其中有些人确实处理了FCGI_GET_VALUES_RESULT。

相关问题