Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 9877|Odpověď: 0

Protokol nginx fastcgi_pass je krátce představen a testován

[Kopírovat odkaz]
Zveřejněno 16. 11. 2021 22:16:20 | | | |
NGinx obvykle posílá požadavky do procesu správy FastCGI k zpracování, například php-fpm je implementace protokolu Fastcgi, hypervisor spravující PHP-CGI. Tady je diagram postupu:



CGI znamená "Common Gateway Interface", nástroj pro HTTP servery k "komunikaci" s programy na vašem nebo jiných počítačích, a jejich programy musí běžet na webovém serveru.

Nevýhody CGI: Když každý požadavek vstoupí, CGI rozvětví nový proces a vezměte si například PHP, každý požadavek spotřebuje značné množství paměti, takže při spuštění bude zcela GG.

Aby se tento problém vyřešil, byl vytvořen fastCgi.

FastCGI je jako dlouhověké CGI, lze jej provádět neustále, pokud je aktivováno, netrvá dlouho se forkovat pokaždé (toto je nejvíce kritizovaný režim fork-and-execute v CGI). Podporuje také distribuované výpočty, což znamená, že programy FastCGI lze spouštět na hostitelích jiných než webový server a přijímat požadavky z jiných webových serverů.
Test

Vytvořte nový php soubor v adresáři D:\dev_tools\nginx-1.20.0\html\php, abyste zabránili hlášení chyby 404 při nalezení souboru pomocí nginx, a to následovně:



NGinx fastcgi_pass je konfigurován následovně:



Data přenášená nginx fastcgi_pass musí být parsována podle protokolu FastCGIPokud máte zájem, můžete jít a zjistit to, používám zde sokit pro zapnutí TCP poslechu pro jednoduchý příjem, zkuste použít prohlížeč pro přístup:http://127.0.0.1:22229/itsvse.php, jak je znázorněno na obrázku níže:



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-věk=0.@HTTP_SEC_CH_UA"Chrom"; v="92", " Ne 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, podobně jako 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, aplikace/podepsaná výměna; 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, vyfoukni, br.. HTTP_ACCEPT_LANGUAGEzh-CN,zh; q=0,9,en; q=0,8......................
(Konec)




Předchozí:Nainstalujte curl založený na Debianu (docker image).
Další:E45: 'readonly' option is set (add ! to override)
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com