首页 > php-fpm fastcgi phpcgi这些是干嘛用的?

php-fpm fastcgi phpcgi这些是干嘛用的?

经常看到这几个东西,但是网上查的资料看不懂,哪位能通俗的说说。

概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM

最好举个栗子!

谢谢


CGI就是一套接口规则,它用于HTTP服务器和动态处理程序之间的通讯方式的确立。
FastCGI可以算是CGI的一种实现,它通过让CGI处理程序常驻进程,让一个CGI进程可以处理多个请求,减少了反复启动CGI程序的时间和资源的消耗。

php-cgi就是一个用来提供PHP程序处理的FastCGI。
php-fpm(FastCGI Process Manager)则是在FastCGI程序之上来管理FastCGI进程的管理工具。
php-cgi是单进程的,开启一个php-cgi来处理请求时,一次只能处理一个请求,其余请求时排队的。
php-fpm则管理多个FastCGI进程,让请求可以并行发送到多个FastCGI进程同时处理。
可以简单的理解为php-fpm管理着多个php-cgi

举个简单的例子,一个请求从客户端发送到Nginx服务器再由PHP程序处理的过程:


参考尹川的回答, FastCgi与PHP-fpm之间的关系

【热门文章】
【热门文章】