Nginx parasti nosūta pieprasījumus FastCGI pārvaldības procesam, lai apstrādātu, piemēram, PHP-FP ir Fastcgi protokola ieviešana, hipervizors, kas pārvalda PHP-CGI. Lūk, plūsmas diagramma:
CGI apzīmē "Common Gateway Interface", rīku HTTP serveriem, lai "sarunātos" ar programmām jūsu vai citās mašīnās, un to programmām jādarbojas tīmekļa serverī.
CGI trūkumi: Kad tiek ievadīts katrs pieprasījums, CGI dakšas jaunu procesu un pēc tam ņems PHP kā piemēru, katrs pieprasījums patērē ievērojamu atmiņas daudzumu, lai, palaižot to, tas būs pilnīgi GG.
Lai atrisinātu šo problēmu, tika izveidots fastCgi.
FastCGI ir kā ilgmūžīgs CGI, to var izpildīt visu laiku, kamēr tas ir aktivizēts, nav nepieciešams laiks, lai katru reizi dakšas (tas ir visvairāk kritizētais CGI dakšas un izpildes režīms). Tas atbalsta arī sadalīto skaitļošanu, kas nozīmē, ka FastCGI programmas var izpildīt uz resursdatoriem, kas nav tīmekļa serveris, un pieņemt pieprasījumus no citiem tīmekļa serveriem.
Tests
Izveidojiet jaunu php failu direktorijā D:\dev_tools\nginx-1.20.0\html\php, lai neļautu nginx ziņot par 404 kļūdu, ja failu nevar atrast, šādi:
Nginx fastcgi_pass ir konfigurēts šādi:
Nginx fastcgi_pass pārraidītie dati ir jāanalizē saskaņā ar FastCGI protokoluJa jūs interesē, varat doties uzzināt, es šeit izmantoju sokit, lai iespējotu TCP klausīšanos vienkāršai uztveršanai, mēģiniet izmantot pārlūkprogrammu, lai piekļūtu:http://127.0.0.1:22229/itsvse.php, kā parādīts attēlā:
22:06:07 DAT ---> [TCP] 127.0.0.1:1032 <1136> ..................... B.... QUERY_STRING .. REQUEST_METHODGET .. CONTENT_TYPE .. CONTENT_LENGTH.. SCRIPT_NAME/itsvse.php.. REQUEST_URI/itsvse.php.. DOCUMENT_URI / itsvse.php." DOCUMENT_ROOTD:/dev_tools/nginx-1.20.0/html/php.. SERVER_PROTOCOLHTTP/1.1..REQUEST_SCHEMEhttp.. GATEWAY_INTERFACECGI/1.1..SERVER_SOFTWAREnginx/1.20.0..REMOTE_ADDR127.0.0.1.. REMOTE_PORT1025 .. SERVER_ADDR127.0.0.1. SERVER_PORT22229 .. SERVER_NAME .. REDIRECT_STATUS200 .. HTTP_HOST127.0.0.1:22229..HTTP_CONNECTIONkeep-dzīvs.. HTTP_CACHE_CONTROLmax-age=0.@HTTP_SEC_CH_UA"Hroms"; v = "92", " nevis a; Zīmols"; v="99", "Google Chrome"; v="92".. HTTP_SEC_CH_UA_MOBILE?0..HTTP_UPGRADE_INSECURE_REQUESTS1.sHTTP_USER_AGENTMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, piemēram, Gecko) Chrome/92.0.4515.131 Safari/537.36.....HTTP_ACCEPTtext/html,application/xhtml+xml,application/xml; q=0.9,attēls/avif,attēls/webp,attēls/apng,*/*; q=0.8,lietojumprogramma/parakstīta apmaiņa; v=b3; q=0.9..HTTP_SEC_FETCH_SITEnone.. HTTP_SEC_FETCH_MODEnavigate .. HTTP_SEC_FETCH_USER?1..HTTP_SEC_FETCH_DESTdocument.. HTTP_ACCEPT_ENCODINGgzip, iztukšot, br.. HTTP_ACCEPT_LANGUAGEzh-CN,zh; q=0.9,lv; q = 0,8...................... (Beigas)
|