Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 9877|Odpoveď: 0

Protokol nginx fastcgi_pass je stručne predstavený a testovaný

[Kopírovať odkaz]
Zverejnené 16.11.2021 22:16:20 | | | |
Nginx zvyčajne odosiela požiadavky do procesu správy FastCGI na spracovanie, napríklad php-fpm je implementácia protokolu Fastcgi, hypervízora, ktorý spravuje php-cgi. Tu je diagram toku:



CGI znamená "Common Gateway Interface" (Common Gateway Interface), nástroj pre HTTP servery na "komunikáciu" s programami na vašom alebo iných počítačoch a ich programy musia bežať na webovom serveri.

Nevýhody CGI: Keď každá požiadavka vstúpi, CGI rozvetví nový proces, a potom vezmime PHP ako príklad, každá požiadavka spotrebuje značné množstvo pamäte, takže pri spustení bude úplne GG.

Na vyriešenie tohto problému bol vytvorený fastCgi.

FastCGI je ako dlhoveké CGI, môže sa vykonávať neustále, pokiaľ je aktivované, netrvá dlho sa zakaždým forknúť (toto je najviac kritizovaný režim fork-and-execute v CGI). Podporuje tiež distribuované výpočty, čo znamená, že programy FastCGI môžu byť spúšťané na iných hostiteľoch než webový server a prijímať požiadavky z iných webových serverov.
Test

Vytvorte nový php súbor v adresári D:\dev_tools\nginx-1.20.0\html\php, aby nginx nehlásil chybu 404, ak súbor nie je nájsť, nasledovne:



NGinx fastcgi_pass je nakonfigurovaný nasledovne:



Dáta prenášané nginx fastcgi_pass musia byť spracované podľa protokolu FastCGIAk máš záujem, môžeš ísť a zistiť to, používam sokit tu na povolenie TCP počúvania pre jednoduchý príjem, skús použiť prehliadač na prístup:http://127.0.0.1:22229/itsvse.php, ako je znázornené na obrázku nižšie:



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-živý.. HTTP_CACHE_CONTROLmax-vek=0.@HTTP_SEC_CH_UA"Chróm"; v="92", " Nie A; Brand"; 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, podobne ako Gecko) Chrome/92.0.4515.131 Safari/537.36.....HTTP_ACCEPTtext/html,application/xhtml+xml,application/xml; q=0,9,image/avif,image/webp,image/apng,*/*; q=0,8, aplikácia/podpísaná výmena; 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, vyfúkni, br.. HTTP_ACCEPT_LANGUAGEzh-CN,zh; q=0,9,en; q=0,8......................
(Koniec)




Predchádzajúci:Nainštalujte curl na základe Debianu (docker image).
Budúci:E45: 'readonly' option is set (add ! to override)
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com