Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 9877|Répondre: 0

Le protocole nginx fastcgi_pass est brièvement introduit et testé

[Copié le lien]
Publié le 16-11-2021 à 22:16:20 | | | |
nginx envoie généralement des requêtes au processus de gestion Fastcgi pour traitement, prenant le site PHP comme exemple : php-fpm est une implémentation du protocole Fastcgi, un hyperviseur qui gère PHP-CGI. Voici le schéma :



CGI signifie « Common Gateway Interface », un outil permettant aux serveurs HTTP de « communiquer » avec des programmes sur votre machine ou d’autres machines, et leurs programmes doivent fonctionner sur un serveur web.

Inconvénients de CGI : Lorsque chaque requête entre, CGI forke un nouveau processus, puis prend PHP comme exemple, chaque requête consomme une quantité considérable de mémoire, de sorte qu’au lancement, elle sera entièrement GG.

Pour résoudre ce problème, fastCgi a été créé.

FastCGI est comme un CGI à longue durée de vie, il peut être exécuté en permanence, tant qu’il est activé, il ne faut pas de temps pour forker à chaque fois (c’est le mode de synthèse CGI le plus critiqué). Il prend également en compte l’informatique distribuée, ce qui signifie que les programmes FastCGI peuvent être exécutés sur des hôtes autres que le serveur web et accepter les requêtes d’autres serveurs web.
Test

Créez un nouveau fichier php dans le répertoire D :\dev_tools\nginx-1.20.0\html\php pour empêcher nginx de signaler une erreur 404 lorsque le fichier est introuvable, comme suit :



NGINX fastcgi_pass est configuré comme suit :



Les données transmises par nginx fastcgi_pass doivent être analysées selon le protocole FastCGISi cela vous intéresse, vous pouvez aller le vérifier, j’utilise sokit ici pour activer une écoute TCP pour une réception simple, essayez d’utiliser un navigateur pour accéder à :http://127.0.0.1:22229/itsvse.php, comme montré dans la figure ci-dessous :



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-vivant.. HTTP_CACHE_CONTROLmax-âge=0.@HTTP_SEC_CH_UA « Chrome » ; v="92 », " Not 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, comme 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,application/échange signé ; 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, dégonfle, frère. HTTP_ACCEPT_LANGUAGEzh-CN,zh ; q=0,9,en ; q=0,8......................
(Fin)




Précédent:Installer Curl basé sur Debian (image docker).
Prochain:E45: 'readonly' option is set (add ! to override)
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com