Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 9877|Vastaus: 0

Nginx fastcgi_pass -protokolla esitellään ja testataan lyhyesti

[Kopioi linkki]
Julkaistu 2021-11-16 22:16:20 | | | |
nginx lähettää yleensä pyynnöt FASTCGI:n hallintaprosessille käsiteltäväksi, ottaen esimerkiksi PHP-sivuston, PHP-FPM on Fastcgi-protokollan toteutus, hypervisori, joka hallinnoi PHP-CGI:tä. Tässä on kaavio:



CGI tarkoittaa "Common Gateway Interface" -työkalua, jonka avulla HTTP-palvelimet voivat "kommunikoida" sinun tai muiden koneiden ohjelmien kanssa, ja niiden ohjelmat on suoritettava web-palvelimella.

CGI:n haitat: Kun jokainen pyyntö saapuu, CGI haarautuu uuden prosessin ja otetaan esimerkiksi PHP, jolloin jokainen pyyntö kuluttaa huomattavasti muistia, joten käynnistyksen yhteydessä se on täysin GG.

Tämän ongelman ratkaisemiseksi luotiin fastCgi.

FastCGI on kuin pitkäikäinen CGI, sitä voidaan suorittaa koko ajan, kunhan se aktivoituu, haarautuu ei vie aikaa joka kerta (tämä on eniten kritisoitu haarautuma-ja-suoritustapa CGI:ssä). Se tukee myös hajautettua laskentaa, mikä tarkoittaa, että FastCGI-ohjelmat voidaan suorittaa muilla istoilla kuin web-palvelimella ja hyväksyä pyyntöjä muilta web-palvelimilta.
Testi

Luo uusi PHP-tiedosto D:\dev_tools\nginx-1.20.0\html\php -hakemistoon, jotta nginx ei raportoi 404-virhettä, kun tiedostoa ei löydy, seuraavasti:



Nginx fastcgi_pass on konfiguroitu seuraavasti:



nginx fastcgi_pass:n lähettämä data täytyy jäsentää FastCGI-protokollan mukaisestiJos olet kiinnostunut, voit mennä selvittämään, käytän täällä Sokit-toimintoa TCP-kuuntelun mahdollistamiseen yksinkertaiseen vastaanottoon, kokeile käyttää selainta päästäksesi käsiksi:http://127.0.0.1:22229/itsvse.php, kuten alla olevassa kuvassa näkyy:



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-elossa.. HTTP_CACHE_CONTROLmax-age=0.@HTTP_SEC_CH_UA"Kromi"; v="92", " ei 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, kuten 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, sovellus/allekirjoitettu vaihto; 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, tyhjennetään, br.. HTTP_ACCEPT_LANGUAGEzh-CN,zh; q=0,9,en; q=0,8......................
(Loppu)




Edellinen:Asenna curl Debianin pohjalta (docker-kuva).
Seuraava:E45: 'readonly' option is set (add ! to override)
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com