2013-04-04 154 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

相關問題