Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 9877|Svare: 0

nginx fastcgi_pass-protokollen introduseres og testes kort

[Kopier lenke]
Publisert 2021-11-16 22:16:20 | | | |
NGINX sender vanligvis forespørsler til FastCGI-administrasjonsprosessen for behandling, for eksempel er PHP-FPM en implementering av FastCGI-protokollen, en hypervisor som håndterer PHP-CGI. Her er flytskjemaet:



CGI står for "Common Gateway Interface", et verktøy for HTTP-servere til å "snakke" med programmer på dine eller andre maskiner, og programmene deres må kjøre på en webserver.

Ulemper med CGI: Når hver forespørsel kommer inn, vil CGI forke en ny prosess, og deretter ta PHP som eksempel, hver forespørsel bruker en betydelig mengde minne, slik at når den startes, vil den være helt GG.

For å løse dette problemet ble fastCgi opprettet.

FastCGI er som en langlivet CGI, den kan utføres hele tiden, så lenge den er aktivert, tar det ikke tid å forke hver gang (dette er den mest kritiserte fork-og-kjøre-modusen for CGI). Den støtter også distribuert databehandling, noe som betyr at FastCGI-programmer kan kjøres på andre verter enn webserveren og motta forespørsler fra andre webservere.
Prøve

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



Nginx fastcgi_pass er konfigurert som følger:



Dataene som sendes av nginx fastcgi_pass må analyseres i henhold til FastCGI-protokollenHvis du er interessert, kan du finne ut av det, jeg bruker sokit her for å aktivere TCP-lytting for enkel mottak, prøv å bruke en nettleser for å få tilgang: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"Chromium"; 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, som Gecko) Chrome/92.0.4515.131 Safari/537.36.....HTTP_ACCEPTtext/html,application/xhtml+xml,application/xml; q=0.9,bilde/avif,bilde/webp,bilde/apng,*/*; q=0.8,applikasjon/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, slapp av, br.. HTTP_ACCEPT_LANGUAGEzh-CN,ZH; q=0,9,en; q=0,8......................
(Slutt)




Foregående:Installer curl basert på Debian (docker-image).
Neste:E45: 'readonly' option is set (add ! to override)
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com