Maison  >  Article  >  Opération et maintenance  >  Quelle est la méthode de déploiement de Nginx et PHP

Quelle est la méthode de déploiement de Nginx et PHP

王林
王林avant
2023-05-18 23:43:231209parcourir

Introduction à 2 méthodes de déploiement

La première

  • 1 serveur nginx en face pour le proxy inverse http et l'équilibrage de charge

  • Le nginx du serveur n à l'arrière fait le service web et les appels php -Service cgi rapide fourni par fpm

  • Ce type de méthode de déploiement est le plus courant. Le service Web et le service php sont déployés sur le même serveur

Le deuxième type

  1. Un serveur nginx. devant Faire des services Web

  2. Le serveur arrière déploie uniquement le service php-fpm, qui est appelé par le serveur nginx

  3. Un serveur nginx est installé à l'avant. Lors de l'appel ultérieur de plusieurs services php-fpm, chargez. l'équilibrage peut également être atteint

Comme indiqué ci-dessous :

Quelle est la méthode de déploiement de Nginx et PHP

Comparaison

Du point de vue de la conception du système

La première méthode de déploiement est la méthode de déploiement conventionnelle, qui peut être appliquée aux grandes, moyennes et petites sites Web à grande échelle.

La deuxième méthode consiste à déployer différents services sur différents serveurs, ce qui est plus détaillé. Mais il y a aussi plusieurs problèmes :

  • Le front-end nginx agit comme un service web. Tous les paramètres d’accès aux ressources statiques, de transfert de compression et de mise en cache sont centralisés sur ce serveur. Il y aura beaucoup de pression et cela peut facilement devenir un goulot d’étranglement.

  • Si les ressources statiques sont toutes stockées dans CDN et ne nécessitent pas de transmission par compression HTTP, cette méthode de déploiement est tout à fait raisonnable.

  • Conformément aux deux points ci-dessus, cette méthode de déploiement peut également être optimisée ; Après la couche d'équilibrage de charge et de proxy inverse à l'avant, il y a un serveur Web Nginx au milieu et un service PHP-FPM est déployé derrière lui. Du point de vue des performances

Par rapport à la deuxième méthode de déploiement, la première méthode nécessite une interaction inter-processus supplémentaire.

  1. Selon le premier déploiement, lorsqu'une requête http arrive, le proxy inverse nginx la transmet d'abord au service Web nginx (via le réseau), et le service Web interagit avec php-fpm via le protocole fastcgi (inter- interaction de processus);

  2. Selon le deuxième déploiement, lorsqu'une requête http arrive, nginx, qui agit comme un service Web, interagit directement avec php-fpm via le réseau

Dans le premier déploiement, le protocole http est utilisé pour interagir via le réseau, et dans le second, ce qui interagit via le réseau est le protocole fast-cgi. Comment ces deux protocoles se comparent-ils ?

Les paquets de données Fast CGI seront légèrement plus volumineux que http, et le protocole Fast CGI transportera plus d'informations sur les paramètres, les informations de contrôle de transmission, etc. Le protocole rapide cgi est plus strictement formaté que le protocole http et est plus rapide à analyser. Du point de vue de l'exploitation et de la maintenance

La première est la méthode de déploiement la plus courante, qui est simple et unifiée. Les services sur tous les serveurs qui fournissent des services Web sont isomorphes, ce qui est monotone et étendu.

La seconde consiste à déployer nginx et php-fpm séparément, et la répartition des différents services sur le cluster de serveurs est plus détaillée. Si vous comptez la répartition de la pression dans les services Web, vous pouvez utiliser les ressources matérielles de manière plus précise. Les coûts d’exploitation et de maintenance sont également plus élevés.

Du point de vue du développement et des tests

Les deux méthodes de déploiement ne conviennent pas aux environnements de développement ou de test.

Dans l'environnement de développement et de test, nginx et php peuvent être déployés sur un seul serveur. Le proxy inverse et l'équilibrage de charge ne sont pas requis.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer