Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 9877|Atsakyti: 0

Trumpai pristatomas ir išbandomas nginx fastcgi_pass protokolas

[Kopijuoti nuorodą]
Publikuota: 2021-11-16 22:16:20 | | | |
Nginx paprastai siunčia užklausas į FastCGI valdymo procesą apdoroti, pavyzdžiui, PHP-FPM yra Fastcgi protokolo, hipervizoriaus, valdančio php-CGI, įgyvendinimas. Štai struktūrinė schema:



CGI reiškia "Common Gateway Interface" – įrankį, skirtą HTTP serveriams "kalbėtis" su jūsų ar kitų įrenginių programomis, o jų programos turi veikti žiniatinklio serveryje.

CGI trūkumai: Kai įvedama kiekviena užklausa, CGI išsišakos naują procesą, o tada kaip pavyzdį paima PHP, kiekviena užklausa sunaudoja nemažai atminties, todėl ją paleidus ji bus visiškai GG.

Norėdami išspręsti šią problemą, buvo sukurtas fastCgi.

"FastCGI" yra tarsi ilgaamžis CGI, jį galima vykdyti visą laiką, kol jis suaktyvintas, nereikia laiko kiekvieną kartą išsišakoti (tai yra labiausiai kritikuojamas CGI šakutės ir vykdymo režimas). Jis taip pat palaiko paskirstytą skaičiavimą, o tai reiškia, kad "FastCGI" programas galima vykdyti kituose pagrindiniuose kompiuteriuose nei žiniatinklio serveris ir priimti užklausas iš kitų žiniatinklio serverių.
Bandymo

Sukurkite naują php failą kataloge D:\dev_tools\nginx-1.20.0\html\php, kad nginx nepraneštų apie 404 klaidą, kai failo nepavyksta rasti, kaip nurodyta toliau:



NGINX fastcgi_pass sukonfigūruotas taip:



Nginx fastcgi_pass perduodamus duomenis reikia išanalizuoti pagal FastCGI protokoląJei jus domina, galite eiti sužinoti, aš naudoju sokit čia, kad įgalinčiau TCP klausymąsi paprastam priėmimui, pabandykite naudoti naršyklę, kad pasiektumėte:http://127.0.0.1:22229/itsvse.php, kaip parodyta toliau pateiktame paveikslėlyje:



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-gyvas.. HTTP_CACHE_CONTROLmax-age=0.@HTTP_SEC_CH_UA"Chromas"; v="92", " ne a; Prekės ženklas"; 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, kaip Gecko) Chrome/92.0.4515.131 Safari/537.36.....HTTP_ACCEPTtext/html,application/xhtml+xml,application/xml; q=0.9,vaizdas/avif,vaizdas/webp,vaizdas/apng,*/*; q=0.8,paraiška/pasirašytas keitimasis; 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, ištuštinti, br.. HTTP_ACCEPT_LANGUAGEzh-CN,zh; q=0,9,en; q = 0,8......................
(Pabaiga)




Ankstesnis:Įdiekite curl pagal Debian (docker vaizdas).
Kitą:E45: 'readonly' option is set (add ! to override)
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com