Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 9877|Respuesta: 0

El protocolo nginx fastcgi_pass se presenta y prueba brevemente

[Copiar enlace]
Publicado el 16-11-2021 22:16:20 | | | |
nginx generalmente envía solicitudes al proceso de gestión de fastcgi para procesarlas, tomando como ejemplo el sitio php; php-fpm es una implementación del protocolo Fastcgi, un hipervisor que gestiona php-cgi. Aquí está el diagrama de flujo:



CGI significa "Interfaz Común de Pasarela", una herramienta para que los servidores HTTP "comuniquen" con programas en tu u otras máquinas, y sus programas deben ejecutarse en un servidor web.

Desventajas del CGI: Cuando entra cada solicitud, el CGI bifurca un nuevo proceso y, por ejemplo, toma PHP como ejemplo; cada solicitud consume una cantidad considerable de memoria, de modo que al lanzarse será completamente GG.

Para resolver este problema, se creó fastCgi.

FastCGI es como un CGI de larga duración, se puede ejecutar en cualquier momento, mientras esté activado, no tarda en bifurcarse cada vez (este es el modo de bifurcación y ejecución más criticado del CGI). También soporta computación distribuida, lo que significa que los programas FastCGI pueden ejecutarse en hosts distintos al servidor web y aceptar solicitudes de otros servidores web.
Prueba

Crea un nuevo archivo php en el directorio D:\dev_tools\nginx-1.20.0\html\php para evitar que nginx reporte un error 404 cuando el archivo no se encuentre, de la siguiente manera:



NGINX fastcgi_pass está configurado de la siguiente manera:



Los datos transmitidos por nginx fastcgi_pass deben analizarse según el protocolo FastCGISi te interesa, puedes ir para averiguarlo, yo uso sokit aquí para habilitar una escucha TCP para una recepción sencilla, intenta usar un navegador para acceder:http://127.0.0.1:22229/itsvse.php, como se muestra en la figura siguiente:



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-vivo.. HTTP_CACHE_CONTROLmax-age=0.@HTTP_SEC_CH_UA"Chromium"; v="92", " No 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, como Gecko) Chrome/92.0.4515.131 Safari/537.36.....HTTP_ACCEPTtext/html,application/xhtml+xml,application/xml; q=0.9,imagen/avif,imagen/webp,imagen/apng,*/*; q=0,8,aplicación/intercambio firmado; 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, desinfla, hermano. HTTP_ACCEPT_LANGUAGEzh-CN,zh; q=0,9,en; q=0,8......................
(Fin)




Anterior:Instala curl basado en Debian (imagen docker).
Próximo:E45: 'readonly' option is set (add ! to override)
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com