什么是php-fpm
生活随笔
收集整理的這篇文章主要介紹了
什么是php-fpm
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
php-fpm只是一個(gè)php-fastcgi的管理器,為php提供管理服務(wù)。
(1)為什么會出現(xiàn)php-fpm?
? ?fpm的出現(xiàn)全部因?yàn)閜hp-fastcgi出現(xiàn)。為了很好的管理php-fastcgi而實(shí)現(xiàn)的一個(gè)程序
(2)什么是php-fastcgi
? ?php-fastcgi 只是一個(gè)cgi程序,只會解析php請求,并且返回結(jié)果,不會管理(因此才出現(xiàn)的php-fpm)。
(3)為什么不叫php-cgi
? ?其實(shí)在php-fastcgi出現(xiàn)之前是有一個(gè)php-cgi存在的,只是它的執(zhí)行效率低下,因此被php-fastcgi取代。
(4)那fastcgi和cgi有什么區(qū)別呢?
? ?親們,這區(qū)別就大了,當(dāng)一個(gè)服務(wù)web-server(nginx)分發(fā)過來請求的時(shí)候,通過匹配后綴知道該請求是個(gè)動態(tài)的php請求,會把這個(gè)請求轉(zhuǎn)給php。
? ?在cgi的年代,思想比較保守,總是一個(gè)請求過來后,去讀取php.ini里的基礎(chǔ)配置信息,初始化執(zhí)行環(huán)境,每次都要不停的去創(chuàng)建一個(gè)進(jìn)程,讀取配置,初始化環(huán)境,返回?cái)?shù)據(jù),退出進(jìn)程,久而久之,啟動進(jìn)程的工作變的乏味無趣特別累。
? ?當(dāng)php來到了5的時(shí)代,大家對這種工作方式特別反感,想偷懶的人就拼命的想,我可不可以讓cgi一次啟動一個(gè)主進(jìn)程(master),讓他只讀取一次配置,然后在啟動多個(gè)工作進(jìn)程(worker),當(dāng)一個(gè)請求來的時(shí)候,通過master傳遞給worker這樣就可以避免重復(fù)勞動了。于是就產(chǎn)生了fastcgi。
(5)fastcgi這么好,啟動的worker用完怎么辦?
? ?當(dāng)worker不夠的時(shí)候,master會通過配置里的信息,動態(tài)啟動worker,等空閑的時(shí)候可以收回worker
(6)到現(xiàn)在還是沒明白php-fpm 是個(gè)什么東西
? ?那就先看看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.他就是來管理啟動一個(gè)master進(jìn)程和多個(gè)worker進(jìn)程的程序
? ?
參考資料:
http://baike.baidu.com/link?url=7pKqKq5fbyic_ECVc7qgd6JQ30-6tQz0qFuEmGzGxGQdtwgGJVq47Cuiux6-GFXFHC9zgjmR9Mpt8jV8t0FGAUxSLh04WaP_DdTCXH6yA9e
https://segmentfault.com/q/1010000000256516
(1)為什么會出現(xiàn)php-fpm?
? ?fpm的出現(xiàn)全部因?yàn)閜hp-fastcgi出現(xiàn)。為了很好的管理php-fastcgi而實(shí)現(xiàn)的一個(gè)程序
(2)什么是php-fastcgi
? ?php-fastcgi 只是一個(gè)cgi程序,只會解析php請求,并且返回結(jié)果,不會管理(因此才出現(xiàn)的php-fpm)。
(3)為什么不叫php-cgi
? ?其實(shí)在php-fastcgi出現(xiàn)之前是有一個(gè)php-cgi存在的,只是它的執(zhí)行效率低下,因此被php-fastcgi取代。
(4)那fastcgi和cgi有什么區(qū)別呢?
? ?親們,這區(qū)別就大了,當(dāng)一個(gè)服務(wù)web-server(nginx)分發(fā)過來請求的時(shí)候,通過匹配后綴知道該請求是個(gè)動態(tài)的php請求,會把這個(gè)請求轉(zhuǎn)給php。
? ?在cgi的年代,思想比較保守,總是一個(gè)請求過來后,去讀取php.ini里的基礎(chǔ)配置信息,初始化執(zhí)行環(huán)境,每次都要不停的去創(chuàng)建一個(gè)進(jìn)程,讀取配置,初始化環(huán)境,返回?cái)?shù)據(jù),退出進(jìn)程,久而久之,啟動進(jìn)程的工作變的乏味無趣特別累。
? ?當(dāng)php來到了5的時(shí)代,大家對這種工作方式特別反感,想偷懶的人就拼命的想,我可不可以讓cgi一次啟動一個(gè)主進(jìn)程(master),讓他只讀取一次配置,然后在啟動多個(gè)工作進(jìn)程(worker),當(dāng)一個(gè)請求來的時(shí)候,通過master傳遞給worker這樣就可以避免重復(fù)勞動了。于是就產(chǎn)生了fastcgi。
(5)fastcgi這么好,啟動的worker用完怎么辦?
? ?當(dāng)worker不夠的時(shí)候,master會通過配置里的信息,動態(tài)啟動worker,等空閑的時(shí)候可以收回worker
(6)到現(xiàn)在還是沒明白php-fpm 是個(gè)什么東西
? ?那就先看看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.他就是來管理啟動一個(gè)master進(jìn)程和多個(gè)worker進(jìn)程的程序
? ?
參考資料:
http://baike.baidu.com/link?url=7pKqKq5fbyic_ECVc7qgd6JQ30-6tQz0qFuEmGzGxGQdtwgGJVq47Cuiux6-GFXFHC9zgjmR9Mpt8jV8t0FGAUxSLh04WaP_DdTCXH6yA9e
https://segmentfault.com/q/1010000000256516
總結(jié)
以上是生活随笔為你收集整理的什么是php-fpm的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: text pad java_错误:无法在
- 下一篇: Crane: 腾讯开源一款基于 FinO