Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 9877|Svar: 0

nginx fastcgi_pass-protokollen introduceres og testes kortvarigt

[Kopier link]
Opslået den 2021-11-16 kl. 22:16:20 | | | |
nginx sender generelt anmodninger til FastCGI-administrationsprocessen for behandling; tag PHP-siden som eksempel, php-fpm er en implementering af FastCGI-protokollen, en hypervisor, der administrerer php-cgi. Her er flowchartet:



CGI står for "Common Gateway Interface", et værktøj til HTTP-servere til at "tale" med programmer på dine eller andre maskiner, og deres programmer skal køre på en webserver.

Ulemper ved CGI: Når hver anmodning indsættes, vil CGI forke en ny proces, og tag PHP som eksempel, hver anmodning bruger en betydelig mængde hukommelse, så når den startes, vil den være fuldstændig GG.

For at løse dette problem blev fastCgi oprettet.

FastCGI er som en langlivet CGI, den kan udføres hele tiden, så længe den er aktiveret, tager det ikke tid at forke hver gang (dette er den mest kritiserede fork-and-execute-tilstand i CGI). Den understøtter også distribueret databehandling, hvilket betyder, at FastCGI-programmer kan køres på andre værter end webserveren og modtage forespørgsler fra andre webservere.
Test

Opret en ny php-fil under D:\dev_tools\nginx-1.20.0\html\php-mappen for at forhindre, at nginx rapporterer en 404-fejl, når filen ikke kan findes, som følger:



Nginx fastcgi_pass konfigureres som følger:



De data, der transmitteres af nginx fastcgi_pass, skal parses i henhold til FastCGI-protokollenHvis du er interesseret, kan du finde ud af det, jeg bruger sokit her til at aktivere TCP-lytning for simpel modtagelse, prøv at bruge en browser for at få adgang til:http://127.0.0.1:22229/itsvse.php, som vist i figuren nedenfor:



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-levende.. HTTP_CACHE_CONTROLmax-age=0.@HTTP_SEC_CH_UA"Chrom"; v="92", " Ikke 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, ligesom Gecko) Chrome/92.0.4515.131 Safari/537.36.....HTTP_ACCEPTtext/html,application/xhtml+xml,application/xml; q=0.9,billede/avif,billede/webp,billede/apng,*/*; q=0.8,applikation/signed-exchange; 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, tøm luften, br.. HTTP_ACCEPT_LANGUAGEzh-CN,zh; q=0,9,en; q=0,8......................
(Slut)




Tidligere:Installer curl baseret på Debian (docker-image).
Næste:E45: 'readonly' option is set (add ! to override)
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com