Maison >développement back-end >Problème PHP >Nginx prend-il en charge PHP ?

Nginx prend-il en charge PHP ?

(*-*)浩
(*-*)浩original
2019-10-12 11:00:193946parcourir

FastCGI (Fast Common Gateway Interface) est une interface (ou protocole) évolutive et à haut débit pour la communication entre le serveur HTTP et le langage de script dynamique.

Nginx prend-il en charge PHP ?

Principe de fonctionnement de Nginx + FastCGI (Apprentissage recommandé : Tutoriel vidéo PHP)

Nginx prend-il en charge PHP ?

Nginx ne prend pas en charge l'appel direct ou l'analyse de programmes externes. Tous les programmes (y compris PHP) doivent être appelés via les interfaces FastCGI et uwsig.

L'interface FastCGI appelle socket sous Linux (format unix sockt ou ip:port). Pour appeler un programme CGI, un wrapper FastCGI est également nécessaire. Le wrapper est lié à un socket fixe, tel qu'un port ou un socket de fichier.

Lorsque Nginx envoie une requête CGI à ce socket, via l'interface FastCGI, le wrapper reçoit la requête puis génère un nouveau thread. Ce thread appelle l'interpréteur ou le programme externe pour traiter le script et lit les données de retour. . ;Ensuite, le wrapper transmet les données renvoyées à Nginx via l'interface FastCGI et le long du socket fixe.

Enfin, Nginx envoie les données renvoyées au client.

PHP-FPM

Le mode d'interface FastCGI démarre un ou plusieurs processus démons sur le serveur d'analyse de scripts pour analyser les scripts dynamiques. Ces processus sont le gestionnaire de processus FastCGI ou FastCGI. moteur.

PHP-FPM est le moteur FastCGI qui prend en charge PHP. PHP-FPM est un gestionnaire de processus FastCGI tiers, développé sous forme de patch pour PHP, il doit donc être compilé avec le code source PHP lors de l'installation, ce qui signifie que PHP-FPM est compilé dans le noyau PHP.

Le principal avantage de FastCGI est de séparer les langages dynamiques​​du serveur HTTP, donc Nginx et PHP/PHP-FPM sont souvent déployés sur des serveurs différents pour partager la pression sur le serveur Nginx front-end et rendre Nginx dédié traite les requêtes statiques et transmet les requêtes dynamiques, tandis que le serveur PHP/PHP-FPM analyse exclusivement les requêtes dynamiques PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn