2013-04-04 108 views
1

我目前正在使用nginxPHP FastCGI但这种安排遭受限制,它一次只能服务一个HTTP请求。 (请参阅here。)我通过执行从Windows命令提示符启动PHP;Windows PHP-FPM可以同时处理多个请求吗?

c:\Program Files\PHP>php-cgi -b 127.0.0.1:9000 

但是还有另一种方式来运行PHP知道的 “快速CGI进程管理器”(PHP-FPM)。

在Windows 7后面运行nginx时,PHP-FPM可以处理多个同时发出的HTTP请求吗?

回答

4

我结束了此解决方案:你只需启动几个PHP-CGI进程,并将其绑定到不同的端口,你需要更新nginx的配置:

http { 

    upstream php_farm { 
     server 127.0.0.1:9000 weight=1; 
     server 127.0.0.1:9001 weight=1; 
     server 127.0.0.1:9002 weight=1; 
     server 127.0.0.1:9003 weight=1; 
    } 

    ... 

    server { 
     ... 
     fastcgi_pass php_farm; 
    } 

} 

为了方便起见,我创建了简单批处理文件。

start_sandbox.bat

@ECHO OFF 
ECHO Starting sandbox... 

RunHiddenConsole.exe php\php-cgi.exe -b 127.0.0.1:9000 -c php\php.ini 
RunHiddenConsole.exe php\php-cgi.exe -b 127.0.0.1:9001 -c php\php.ini 
RunHiddenConsole.exe php\php-cgi.exe -b 127.0.0.1:9002 -c php\php.ini 
RunHiddenConsole.exe php\php-cgi.exe -b 127.0.0.1:9003 -c php\php.ini 

RunHiddenConsole.exe mysql\bin\mysqld --defaults-file=mysql\bin\my.ini --standalone --console 

cd nginx && START /B nginx.exe && cd .. 

stop_sandbox.bat

pstools\pskill php-cgi 

pstools\pskill mysqld 

pstools\pskill nginx 

,你可以看到,有2个依赖关系:pstoolsrunhiddenconsole.exe

+0

辉煌,谢谢。 – 2015-10-16 21:53:30

相关问题