Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 9877|Răspunde: 0

Protocolul fastcgi_pass nginx este introdus și testat pe scurt

[Copiază linkul]
Postat la 2021-11-16 22:16:20 | | | |
nginx trimite în general cereri către procesul de management fastcgi pentru procesare, luând ca exemplu site-ul php, php-fpm este o implementare a protocolului Fastcgi, un hipervizor care gestionează php-cgi. Iată diagrama de flux:



CGI înseamnă "Common Gateway Interface" (Interfață Gateway Comună), un instrument pentru serverele HTTP de a "comunica" cu programe de pe mașinile tale sau altele, iar programele lor trebuie să ruleze pe un server web.

Dezavantaje ale CGI: Când fiecare cerere intră, CGI va bifurca un proces nou, iar apoi va lua PHP ca exemplu, fiecare cerere consumă o cantitate considerabilă de memorie, astfel încât, la lansare, va fi complet GG.

Pentru a rezolva această problemă, a fost creat fastCgi.

FastCGI este ca un CGI de lungă durată, poate fi executat oricând, atâta timp cât este activat, nu durează să fie forkat de fiecare dată (acesta este cel mai criticat mod de tip fork-and-execute al CGI). De asemenea, suportă calculul distribuit, ceea ce înseamnă că programele FastCGI pot fi executate pe gazde diferite de serverul web și pot accepta cereri de la alte servere web.
Testa

Creează un nou fișier php în directorul D:\dev_tools\nginx-1.20.0\html\php pentru a preveni ca nginx să raporteze o eroare 404 atunci când fișierul nu poate fi găsit, după cum urmează:



NGINX fastcgi_pass este configurat astfel:



Datele transmise de nginx fastcgi_pass trebuie analizate conform protocolului FastCGIDacă ești interesat, poți merge să afli, eu folosesc sokit aici pentru a activa un TCP care ascultă pentru recepție simplă, încearcă să folosești un browser pentru a accesa:http://127.0.0.1:22229/itsvse.php, așa cum se arată în figura de mai jos:



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-viu.. HTTP_CACHE_CONTROLmax-vârstă=0.@HTTP_SEC_CH_UA"Chromium"; v="92", " Nu 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, ca 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,aplicație/schimb semnat; 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, dezumflă-te, br.. HTTP_ACCEPT_LANGUAGEzh-CN,zh; q=0,9,en; q=0,8......................
(Sfârșit)




Precedent:Instalează curl bazat pe Debian (imagine docker).
Următor:E45: 'readonly' option is set (add ! to override)
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com