nginx在代理到FastCGI时没有生成工作程序



我在使用nginx和FastCGI时遇到了一些问题。我在Windows7上工作,我已经成功编译/安装/设置了以下项目:

  • nginx服务器
  • FastCGI库
  • spawn-fcgi-win32.exe

我写了一个简单的FastCGI应用程序,它只向Web服务器发送一条消息。这里是代码的简化版本:

while(FCGI_Accept()) {
    hello();
}

我通过spawn-fcgi-win32.exe生成了几个进程,一切正常:从web浏览器访问我的应用程序返回"你好"消息。

然而,为了检查并发性,我更改了我的应用程序如下:

while(FCGI_Accept()) {
    sleep10(); //sleep 10 seconds
    hello();
}

然后,我在浏览器中打开了两个单独的选项卡,并访问了我的应用程序。我预计两个选项卡都会在10秒后返回"你好"消息,但只有第一个选项卡在超时后返回;第二个标签在20秒后完成。这是nginx:的访问日志

127.0.0.1-claudi[2015年2月25日:17:45:16+0100]"GET/foo.php HTTP/1.1"200 3664"-"Mozilla/5.0(Windows NT 6.1;WOW64;rv:35.0)Gecko/20100101 Firefox/35.0"

127.0.0.1-claudi[2015年2月25日:17:45:26+0100]"GET/foo.php HTTP/1.1"200 3664"-"Mozilla/5.0(Windows NT 6.1;WOW64;rv:35.0)Gecko/20100101 Firefox/35.0"

注意,尽管我在大致相同的时间发送了请求,但nginx在10秒后"看到"了第二个请求。我的nginx配置文件设置了4个工作线程,每个工作线程有1024个连接。为什么nginx不产生两个并发工作程序,每个请求一个?

顺便说一句,我已经通过转储进程id和hello消息来检查两个FastCGI进程是否正常工作。

感谢

从这里使用正确的版本http://nginx-win.ecsds.eu/并使用安装程序获取php/python/等。。工作

相关内容

  • 没有找到相关文章

最新更新