我目前正在使用 nginx 和 PHP FastCGI 但这种安排受到限制,即一次只能服务一个 HTTP 请求。 (参见 here。)我从 Windows 命令提示符启动 PHP:
c:\Program Files\PHP>php-cgi -b 127.0.0.1:9000
然而,还有另一种运行 PHP 的方法,称为“Fast CGI Process Manager”(PHP-FPM)。
在 nginx 后面的 Windows 7 上运行时,PHP-FPM 可以同时处理多个 HTTP 请求吗?
最佳答案
还有一种替代方法,以更好的方式。
在 nginx 配置中使用简单的 Fast-CGI 设置
nginx.conf
server {
....
location ~ \.php$ {
try_files $uri =404;
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9001;
fastcgi_read_timeout 60;
allow 127.0.0.1;
allow ::1;
deny all;
}
}
然后在你的 start.bat 文件中
set PATH=%cd%\bin\php;%PATH%
set PHP_FCGI_MAX_REQUESTS=0
set PHP_FCGI_CHILDREN=10
RunHiddenConsole.exe %cd%/php/php-cgi.exe -b 127.0.0.1:9001 -c %cd%/php/php.ini
PHP_FCGI_CHILDREN 变量是魔法发生的地方。 PHP_FCGI_MAX_REQUESTS 也很重要。
关于windows-7 - Windows PHP-FPM 可以同时处理多个请求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15819351/