簡單理解PHP-FPM

php-fpm只是一個php-fastcgi的管理器,爲php提供管理服務php

1.爲何會出現php-fpm 
   fpm的出現所有由於php-fastcgi出現,爲了很好的管理php-fastcgi而實現的一個程序。
2.什麼是php-fastcgi
   php-fastcgi 只是一個cgi程序,只會解析php請求,而且返回結果,不會管理(所以纔出現的php-fpm)。
3.爲何不叫php-cgi
   其實在php-fastcgi出現以前是有一個php-cgi存在的,只是它的執行效率低下,所以被php-fastcgi取代。
4.那fastcgi和cgi有什麼區別呢 ?
   這區別就大了,當一個服務web-server(nginx)分發過來請求的時候,經過匹配後綴知道該請求是個動態的php請求,會把這個請求轉給php。
   在cgi的年代,思想比較保守,老是一個請求過來後,去讀取php.ini裏的基礎配置信息,初始化執行環境,每次都要不停的去建立一個進程,讀取配置,初始化環境,返回數據,退出進程,長此以往,啓動進程的工做變的乏味無趣特別累。
   當php來到了5的時代,你們對這種工做方式特別反感,想偷懶的人就拼命的想,我可不可讓cgi一次啓動一個主進程(master),讓他只讀取一次配置,而後在啓動多個工做進程(worker),當一個請求來的時候,經過master傳遞給worker這樣就能夠避免重複勞動了。因而就產生了fastcgi。
5.fastcgi這麼好,啓動的worker用完怎麼辦 ?
   當worker不夠的時候,master會經過配置裏的信息,動態啓動worker,等空閒的時候能夠收回worker。
6.到如今仍是沒明白php-fpm 是個什麼東西
   那就先看看php-fpm的全稱PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites.他就是來管理啓動一個master進程和多個worker進程的程序。nginx

 


原文:https://blog.csdn.net/zizhilianqiu/article/details/74355367
版權聲明:本文爲博主原創文章,轉載請附上博文連接!web

相關文章
相關標籤/搜索