Web server(apache, nginx) 接受到一個php請求后要解析php文件, 怎么解析呢, web server是C語言寫的, 所以需要一個協議, 一個php解釋器, 也就是CGI.
?
FastCGI是用來提高CGI性能的, 可以說是CGI的升級版. CGI每當一個請求過來都要開啟一個進程, 訪問結束再關閉一個進程, 太累. FASTCGI是可以做一個master, 手下有很多worker, 來一個請求交給一個woker, 其他的待命, 再來個請求再給一個worker. 就節省了很多事情. 也就是說開啟了很多進程, 在那候著, 節省了開, 關進程的時間. 還能自動關閉一些閑置進程, 節約資源.?
?
php-fpm是用來實現fastCGI的, fastCGI只是一個協議, 不能管理進程, 所以就需要一個可以調度PHP-CGI進程的東西, 后來被PHP官方收了.