développement back-end
tutoriel php
Une brève discussion sur la relation entre PHP-FPM, Nginx et FastCGIUne brève discussion sur la relation entre PHP-FPM, Nginx et FastCGI
Cet article parlera de la relation entre PHP-FPM, Nginx et FastCGI, ainsi que de la configuration du proxy inverse Nginx et de l'équilibrage de charge. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

La relation entre PHP-FPM, Nginx, FastCGI
FastCGI est un protocole, il est le pont reliant les applications et les serveurs WEB. Nginx ne peut pas communiquer directement avec PHP-FPM, mais transmet la requête à PHP-FPM pour traitement via FastCGI.
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}Ici, fastcgi_pass transmet toutes les requêtes php à php-fpm pour traitement. Vous pouvez voir grâce à la commande netstat que le processus exécuté sur le port 127.0.0.1:9000 est php-fpm.

Proxy inverse Nginx
L'instruction la plus importante du proxy inverse Nginx est proxy_pass, telle que :
location ^~ /seckill_query/ {
proxy_pass http://ris.filemail.gdrive:8090/;
proxy_set_header Host ris.filemail.gdrive;
}
location ^~ /push_message/ {
proxy_pass http://channel.filemail.gdrive:8090/;
proxy_set_header Host channel.filemail.gdrive;
}
location ^~ /data/ {
proxy_pass http://ds.filemail.gdrive:8087/;
proxy_set_header Host ds.filemail.gdrive;
}Faites correspondre le chemin de l'URL via l'emplacement et transmettez-le à un autre serveur pour traitement.
Le proxy inverse peut également être implémenté via un équilibrage de charge en amont.
Nginx Load Balancing
Présentation du module amont :
Le module d'équilibrage de charge est utilisé depuis "amont " Sélectionnez un hôte dans la liste des hôtes backend définis par la directive. nginx utilise d'abord le module d'équilibrage de charge pour trouver un hôte, puis utilise le module en amont pour interagir avec l'hôte.
Configuration d'équilibrage de charge :
upstream php-upstream {
ip_hash;
server 192.168.0.1;
server 192.168.0.2;
}
location / {
root html;
index index.html index.htm;
proxy_pass http://php-upstream;
}Cet exemple définit une configuration d'équilibrage de charge php-upstream, qui est appliquée via la directive de proxy inverse proxy_pass. L'algorithme ip_hash utilisé ici possède de nombreux algorithmes d'équilibrage de charge, je ne les listerai donc pas tous un par un.
L'équilibrage de charge peut également être utilisé avec fastcgi_pass.
Par exemple :
fastcgi_pass http://php-upstream
Question
Quelle est la relation entre le proxy inverse et la charge équilibrage
Les deux mots proxy inverse et équilibrage de charge apparaissent souvent ensemble, mais ce sont en fait des concepts différents. L'équilibrage de charge met davantage l'accent sur un algorithme ou une stratégie qui demandera Distribué à différentes machines, il agit en fait comme. un proxy inverse.
La différence entre proxy_pass et fastcgi_pass
L'un est un module de proxy inverse et l'autre est transmis au backend factcgi pour traitement.
Apprentissage recommandé : "Tutoriel vidéo 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!
Commentant le code en phpJul 18, 2025 am 04:57 AMIl existe trois méthodes courantes pour le code de commentaire PHP: 1. Utiliser // ou # pour bloquer une ligne de code, et il est recommandé d'utiliser //; 2. Utiliser /.../ pour envelopper des blocs de code avec plusieurs lignes, qui ne peuvent pas être imbriquées mais peuvent être croisées; 3. Compétences combinées Commentaires tels que l'utilisation / if () {} / pour contrôler les blocs logiques, ou pour améliorer l'efficacité avec les touches de raccourci de l'éditeur, vous devez prêter attention aux symboles de fermeture et éviter les nidification lorsque vous les utilisez.
Opérateurs de comparaison PHPJul 18, 2025 am 04:57 AMLes opérateurs de comparaison PHP doivent faire attention aux problèmes de conversion de type. 1. Utiliser == pour comparer les valeurs uniquement, et la conversion de type sera effectuée, comme 1 == "1" est vraie; 2. Utilisation === Pour nécessiter la même valeur que le type, tel que 1 === "1" est faux; 3. La comparaison de taille peut être utilisée sur les valeurs et les chaînes, telles que "Apple"
Syntaxe PHP Array: Création, accès et manipulationJul 18, 2025 am 04:56 AMIl existe deux façons principales de créer des tableaux en PHP: utilisez la fonction Array () ou l'abréviation []. Ce dernier est recommandé car il est concis et facile à lire. Lorsque vous accédez aux éléments de tableau, vous devez faire la distinction entre les réseaux d'index et les tableaux associatifs, et veillez à éviter les erreurs causées par l'accès aux indices non définis; Les tableaux de fonctionnement incluent l'ajout, la modification, la suppression et la recherche d'éléments, l'ajout d'informations vides disponibles ou la spécification des clés, la modification de l'attribution directe, la suppression de l'utilisation unset () et la détermination de la manière respectivement de la clé ou de la valeur en utilisant ISSET () et In_Array () respectivement.
Constantes PHP: const vsJul 18, 2025 am 04:56 AMLa définition des constantes dans PHP, const est plus adapté aux définitions constantes à l'intérieur des classes, et Define () est plus flexible et adaptée aux définitions globales ou dynamiques. 1.Const est une structure linguistique et doit être une expression constante de compilation lorsqu'elle est définie, ce qui convient aux espaces de noms de classe ou globaux; Define () est une fonction, et la valeur peut être le résultat d'un calcul d'exécution. 2.Const est affecté par l'espace de noms, et les constantes définies par Define () sont visibles par défaut globalement. 3. La structure const est claire et l'IDE est bonne, ce qui convient à la conception orientée objet; Define () a une forte flexibilité mais peut avoir des coûts d'entretien plus élevés. 4. Define () prend en charge le jugement de la condition d'exécution et la définition dynamique, mais const ne le prend en charge. Par conséquent, les constantes liées à la classe utilisent préférentiellement le CO
PHP commentant la syntaxeJul 18, 2025 am 04:56 AMIl existe trois façons courantes d'utiliser les commentaires PHP: les commentaires en une seule ligne conviennent à l'explication brièvement de la logique de code, telle que // ou # pour l'explication de la ligne actuelle; Commentaires multi-lignes /*...*/ convient à une description détaillée des fonctions ou des classes; COMMENTAIRES DOCUMENTS DOCBLOCK Commencez par / ** pour fournir des informations rapides pour l'IDE. Lorsque vous l'utilisez, vous devez éviter les bêtises, continuez à mettre à jour de manière synchrone et n'utilisez pas de commentaires pour bloquer les codes pendant longtemps.
Commentaires bons vs mauvais PHPJul 18, 2025 am 04:55 AMLes commentaires sont cruciaux dans le code car ils améliorent la lisibilité et la maintenance du code, en particulier dans des projets comme PHP qui sont multi-collaboratifs et maintenance à long terme. Les raisons de la rédaction de commentaires comprennent l'explication «pourquoi faire cela» pour permettre du temps de débogage et être amical avec les débutants et réduire les coûts de communication. La représentation de bons commentaires comprend l'explication du rôle des fonctions ou des classes pour expliquer le marquage de l'intention logique complexe ou les problèmes potentiels, et la rédaction d'annotations de documentation de l'interface API. Les manifestations typiques des mauvais commentaires incluent des commentaires de contenu de code répété qui ne sont pas cohérents avec le code et l'utilisation des commentaires pour couvrir le mauvais code et conserver les anciennes informations. Les suggestions d'écriture des commentaires incluent la hiérarchisation des commentaires "Pourquoi" Garder les commentaires synchronisés avec le code utilise un format unifié pour éviter les instructions émotionnelles et envisager d'optimiser le code plutôt que de compter sur les commentaires lorsque le code est difficile à comprendre.
Configuration de l'environnement de développement PHPJul 18, 2025 am 04:55 AMLa première étape consiste à sélectionner le package d'environnement intégré XAMPP ou MAMP pour créer un serveur local; La deuxième étape consiste à sélectionner la version PHP appropriée en fonction des besoins du projet et de configurer la commutation de la version multiple; La troisième étape consiste à sélectionner VScode ou PhpStorm comme éditeur et déboguer avec xdebug; De plus, vous devez installer Composer, PHP_CODESNIFFER, PHPUNIT et d'autres outils pour aider au développement.
Code propre et commentaires PHPJul 18, 2025 am 04:55 AMLa rédaction du bon code et des annotations peut améliorer la maintenabilité du projet et le professionnalisme. 1.Cleancode met l'accent sur la dénomination claire, les responsabilités et les structures uniques, de sorte qu'il est facile à comprendre pour les autres; 2. Les commentaires doivent expliquer "pourquoi" plutôt que des fonctions de code en double; 3. Les commentaires PHP doivent couvrir les descriptions de classe, les paramètres de la méthode et les arrière-plans logiques clés; 4. Les suggestions pratiques incluent l'utilisation de noms de variables significatifs, le style d'annotation unifié et l'utilisation des spécifications de l'outil.


Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP

Version Mac de WebStorm
Outils de développement JavaScript utiles

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.







