亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP7內核CGI與FastCGI詳解

2024-05-05 00:08:26
字體:
來源:轉載
供稿:網友

CGI:是 Web Server 與 Web Application 之間數據交換的一種協議。
FastCGI:同 CGI,是一種通信協議,但比 CGI 在效率上做了一些優化。

PHP-CGI:是 PHP (Web Application)對 Web Server 提供的 CGI 協議的接口程序。

PHP-FPM:是 PHP(Web Application)對 Web Server 提供的 FastCGI 協議的接口程序,額外還提供了相對智能一些任務管理

CGI工作流程

1.如果客戶端請求的是 index.html,那么Web Server會去文件系統中找到這個文件,發送給瀏覽器,這里分發的是靜態數據。

2.當Web Server收到 index.php 這個請求后,會啟動對應的 CGI 程序,這里就是PHP的解析器。接下來PHP解析器會解析php.ini文件,初始化執行環境,然后處理請求,再以規定CGI規定的格式返回處理后的結果,退出進程,Web server再把結果返回給瀏覽器。

FastCGI工作流程

1.如果客戶端請求的是 index.html,那么Web Server會去文件系統中找到這個文件,發送給瀏覽器,這里分發的是靜態數據。

2.當Web Server收到 index.php 這個請求后,FastCGI程序(FastCGI在啟動時就初始化執行執行環境,每個CGI進程池各個CGI進程共享執行環境)在CGI進程池中選擇一個CGI進程處理請求,再以規定CGI規定的格式返回處理后的結果,繼續等待下一個請求。

PHP-FPM基本實現

1.PHP-FPM的實現就是創建一個master進程,在master進程中創建worker pool并讓其監聽socket,然后fork出多個子進程(work),這些子進程各自accept請求,子進程的處理非常簡單,它在啟動后阻塞在accept上,有請求到達后開始讀取請求數據,讀取完成后開始處理然后再返回,在這期間是不會接收其它請求的,也就是說PHP-FPM的子進程同時只能響應一個請求,只有把這個請求處理完成后才會accept下一個請求

2.PHP-FPM的master進程與worker進程之間不會直接進行通信,master通過共享內存獲取worker進程的信息,比如worker進程當前狀態、已處理請求數等,當master進程要殺掉一個worker進程時則通過發送信號的方式通知worker進程。

3.PHP-FPM可以同時監聽多個端口,每個端口對應一個worker pool,而每個pool下對應多個worker進程

PHP7,CGI,FastCGI

Worker工作流程

1.等待請求: worker進程阻塞在fcgi_accept_request()等待請求;

2.解析請求: fastcgi請求到達后被worker接收,然后開始接收并解析請求數據,直到request數據完全到達;

3.請求初始化: 執行php_request_startup(),此階段會調用每個擴展的:PHP_RINIT_FUNCTION();

4.編譯、執行: 由php_execute_script()完成PHP腳本的編譯、執行;

5.關閉請求: 請求完成后執行php_request_shutdown(),此階段會調用每個擴展的:PHP_RSHUTDOWN_FUNCTION(),然后進入步驟(1)等待下一個請求。

Master進程管理

1.static: 這種方式比較簡單,在啟動時master按照pm.max_children配置fork出相應數量的worker進程,即worker進程數是固定不變的

2.dynamic: 動態進程管理,首先在fpm啟動時按照pm.start_servers初始化一定數量的worker,運行期間如果master發現空閑worker數低于pm.min_spare_servers配置數(表示請求比較多,worker處理不過來了)則會fork worker進程,但總的worker數不能超過pm.max_children,如果master發現空閑worker數超過了pm.max_spare_servers(表示閑著的worker太多了)則會殺掉一些worker,避免占用過多資源,master通過這4個值來控制worker數

3.ondemand: 這種方式一般很少用,在啟動時不分配worker進程,等到有請求了后再通知master進程fork worker進程,總的worker數不超過pm.max_children,處理完成后worker進程不會立即退出,當空閑時間超過pm.process_idle_timeout后再退出

PHP-FPM事件管理器

1.sp[1]管道可讀事件:這個事件是master用于處理信號的

2.fpm_pctl_perform_idle_server_maintenance_heartbeat():這是進程管理實現的主要事件,master啟動了一個定時器,每隔1s觸發一次,主要用于dynamic、ondemand模式下的worker管理,master會定時檢查各worker pool的worker進程數,通過此定時器實現worker數量的控制

3.fpm_pctl_heartbeat():這個事件是用于限制worker處理單個請求最大耗時的,php-fpm.conf中有一個request_terminate_timeout的配置項,如果worker處理一個請求的總時長超過了這個值那么master將會向此worker進程發送kill -TERM信號殺掉worker進程,此配置單位為秒,默認值為0表示關閉此機制

4.fpm_pctl_on_socket_accept():ondemand模式下master監聽的新請求到達的事件,因為ondemand模式下fpm啟動時是不會預創建worker的,有請求時才會生成子進程,所以請求到達時需要通知master進程


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久手机免费视频| 亚洲区一区二区| 日韩欧美国产网站| 成人国产精品av| 亚洲综合视频1区| 久久久久久伊人| 精品久久久久久亚洲国产300| 亚洲精品免费av| 午夜精品免费视频| 日日摸夜夜添一区| 亚洲精品国精品久久99热一| 亚洲护士老师的毛茸茸最新章节| 爱福利视频一区| 国产日韩欧美综合| 蜜臀久久99精品久久久久久宅男| 色综合久久88| 性色av一区二区三区在线观看| 久久久久久午夜| 亚洲国产精品久久91精品| 国产精品视频一区国模私拍| 日韩在线欧美在线国产在线| 97视频在线观看视频免费视频| 国产欧美精品久久久| 国产精品美女免费视频| 91精品久久久久久久久不口人| 91精品久久久久久久久久另类| 亚洲精品videossex少妇| 国产精品91一区| 91久久精品美女高潮| 少妇精69xxtheporn| 亚洲一区二区三| 欧美美女18p| 欧美激情一区二区三区高清视频| 国产精品91免费在线| 久久精品人人做人人爽| 亚洲日韩欧美视频| 日产精品久久久一区二区福利| 久久精品国产v日韩v亚洲| 97视频免费在线看| 久久综合亚洲社区| 在线观看国产精品淫| 国产精品久久久久久久久久三级| 国产精品99蜜臀久久不卡二区| 国产极品精品在线观看| 中文字幕亚洲天堂| 国产精品美女www爽爽爽视频| 欧美精品久久久久a| 欧美日韩国产成人| 国产日产欧美a一级在线| 亚洲国产天堂久久国产91| 国产日本欧美一区二区三区在线| 国产剧情久久久久久| 国产成人精品综合久久久| 日韩av中文在线| 宅男66日本亚洲欧美视频| 这里只有精品久久| 国产欧美精品久久久| 欧美日韩激情网| 欧美激情中文字幕在线| 97成人精品区在线播放| 亚洲成人激情图| 久久国内精品一国内精品| 欧美极品在线播放| 欧美电影在线播放| 欧美久久精品一级黑人c片| 国产成人精品免高潮在线观看| 亚洲国产精品va在线看黑人| 成人h视频在线观看播放| 国产精品高潮呻吟视频| 国产精品久久久久久av下载红粉| 欧美电影在线观看| 亚洲人成网在线播放| 色av中文字幕一区| 欧美有码在线观看| 成人两性免费视频| 91久久夜色精品国产网站| 亚洲最新av在线网站| 国产精品福利在线| 欧美裸身视频免费观看| 久久精品成人动漫| 亚洲国产毛片完整版| 日韩精品中文在线观看| 国产一区二区三区免费视频| 久久久久久久久久国产| 亚洲影院在线看| 国产精品久久久久久久美男| 亚洲精品国产品国语在线| 伊人亚洲福利一区二区三区| 成人h片在线播放免费网站| 久久九九全国免费精品观看| 亚洲成人av资源网| 亚洲精品自拍偷拍| 亚洲国产高潮在线观看| 中文字幕av一区二区| 久久亚洲一区二区三区四区五区高| 欧美日韩综合视频网址| 精品国产乱码久久久久久虫虫漫画| 性色av一区二区三区红粉影视| 69精品小视频| 国产精品久久久久久久久粉嫩av| 久久精品99久久久香蕉| 91午夜在线播放| 国产精品视频自在线| 亚洲成人精品久久| 国产精品久久久久久久app| 国产午夜精品一区理论片飘花| 国产一区二区三区在线观看网站| 久久国产天堂福利天堂| 国产专区精品视频| 国产免费一区视频观看免费| 成人免费自拍视频| 欧美日韩中国免费专区在线看| 琪琪第一精品导航| 日韩av影院在线观看| 在线视频免费一区二区| 国产中文欧美精品| 久久6免费高清热精品| 国产日韩精品在线播放| 国模吧一区二区三区| 97精品在线视频| 在线观看欧美成人| 欧美日韩精品国产| 日韩av中文字幕在线免费观看| 97香蕉久久超级碰碰高清版| 国产精品精品久久久久久| 日本欧美在线视频| 久久视频在线直播| 国产欧美精品在线播放| 欧美一级视频在线观看| 国产精品18久久久久久麻辣| 在线日韩日本国产亚洲| 欧洲永久精品大片ww免费漫画| 日本在线观看天堂男亚洲| 日韩成人在线免费观看| 性色av一区二区三区红粉影视| 亚洲欧洲国产精品| 日本在线观看天堂男亚洲| 久久影院免费观看| 中文字幕久精品免费视频| 日韩av在线最新| 久久九九全国免费精品观看| 亚洲精品第一国产综合精品| 国产午夜一区二区| 久久久久久久一| 97超碰国产精品女人人人爽| 亚洲男人天堂九九视频| 色偷偷偷亚洲综合网另类| 亚洲肉体裸体xxxx137| 久久久久国产精品免费网站| 国产性猛交xxxx免费看久久| 精品久久久中文| 亚洲国产欧美一区二区三区同亚洲| 国产精品久久久久免费a∨| 国产精品久久久久久超碰| 成人国产精品免费视频| 亚洲最大激情中文字幕| 精品久久久久久久久久ntr影视| 国产日韩欧美在线| 亚洲性夜色噜噜噜7777| 中文字幕综合一区| 成人女保姆的销魂服务| 在线成人激情黄色| 久久精视频免费在线久久完整在线看| 日韩欧美一区二区三区|