PHP生命周期進階-換個角度看一看

這篇文章適合有一定經驗的PHP開發者閱讀啊,沒有上下文鋪墊

PHP生命周期

PHP-FPM是什么

php-fpm即php-Fastcgi Process Manager.
php-fpm是 FastCGI 的實現,并提供了進程管理的功能。
進程包含 master 進程和 worker 進程兩種進程。
master 進程只有一個,負責監聽端口,接收來自 Web Server 的請求,而 worker 進程則一般有多個(具體數量根據實際需要配置),每個進程內部都嵌入了一個 PHP 解釋器,是 PHP 代碼真正執行的地方。

三種PHP應用的Web模型

PHP生命周期進階-換個角度看一看-圖南科技.png

實際應用配置時,nginx如何配置fast-cgi模塊?
人們常說的nginx反向代理,PHP交由PHP-FPM處理,nginx與PHP-FPM關聯的配置如下

  location ~ \.php$ {
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_pass 127.0.0.1:9000;
            try_files $uri =404;
        }
image.png
PHP生命周期進階-換個角度看一看.png
PHP生命周期進階-換個角度看一看.png

這種模型中充當WebServer角色的構件不僅僅有nginx,應用本身也包含了一個內建WebServer,不過由于Swoole Http Server不是專業的Http Server,對Http的處理不完善 ,因此仍然需要使用Nginx作為靜態資源服務器以及反代,Swoole Http Server僅僅處理PHP相關的Http流量。

參考資料

PHP生命周期及fpm(FastCGI進程管理器)的運作方式

Swoole和Swoft的那些事 (Http/Rpc服務篇)

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 更改ip和dnsVi /etc/sysconfig/network-scripts/ifcfg-eth0vi /...
    Xwei_閱讀 1,854評論 0 3
  • Nginx的工作原理 1.Nginx的模塊與工作原理 Nginx由內核和模塊組成,其中,內核的設計非常微小和簡潔,...
    架構飛毛腿閱讀 6,083評論 1 27
  • [toc] 在公司的網站上推薦使用 docker 容器來安裝環境,一個項目一個 docker 容器。 、、 百度百...
    Mdvtrw閱讀 1,516評論 0 1
  • FastCGI模塊模塊允許nginx同FastCGI協同工作,并且控制哪些參數將被安全傳遞。 一、CGI和Fast...
    北山學者閱讀 9,221評論 3 8
  • 這篇是Nginx安裝配置PHP(FastCGI)環境的教程。Nginx不支持對外部程序的直接調用或者解析,所有的外...
    SkTj閱讀 3,124評論 2 20