windows下nginx+php-cgi子进程问题(解决curl_exec超时问题)

正常的配置情况下,window的nginx+php-cgi是不会出现多线程/子进程的,如下配置


fastcgi_pass   127.0.0.1:9000;


这时也就意味着当两个php文件同时请求解析时,就会出现阻塞处理。


如果后一个请求需要等待前一个请求返回的结果才能执行,则进入死循环,直到报504超时。


解决办法是: 既然php-cgi不能自动创建子进程,就先手动开启多个php-cgi进程。

启动nginx脚本如下:

@echo off
set PHP_FCGI_MAX_REQUESTS=1000
 echo Starting PHP FastCGI...
RunHiddenConsole F:\php_nts\php-cgi.exe -b 127.0.0.1:9000 -c F:\php_nts\php.ini
RunHiddenConsole F:\php_nts\php-cgi.exe -b 127.0.0.1:9001 -c F:\php_nts\php.ini
RunHiddenConsole F:\php_nts\php-cgi.exe -b 127.0.0.1:9002 -c F:\php_nts\php.ini

RunHiddenConsole F:\php_nts\php-cgi.exe -b 127.0.0.1:9003 -c F:\php_nts\php.ini
echo Starting nginx...
RunHiddenConsole F:\nginx\nginx.exe -p F:\nginx


开启4个进程备用


nginx的配置

http下追加下面配置:

http {
     upstream fastcgi_backend {
         server 127.0.0.1:9000;
         server 127.0.0.1:9001;
         server 127.0.0.1:9002;
         server 127.0.0.1:9003;

     }
}

server下的fastcgi_pass改为:

server {
    location ~ \.php$ {
        fastcgi_pass   fastcgi_backend;
    }
}


这样就可以同时打开4个php是可以独立解析了。

5个呢?

继续手动开启进程  或者  等等吧..........


转载于http://blog.csdn.net/qidizi/article/details/31580033


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值