Maison développement back-end tutoriel php Comparaison des deux méthodes de déploiement de PHP et Nginx (photo)

Comparaison des deux méthodes de déploiement de PHP et Nginx (photo)

Jun 18, 2017 am 09:31 AM
nginx php à propos 方式 部署

Cet article présente principalement des informations pertinentes sur la comparaison des deux méthodes de déploiement de Nginx et PHP. Les amis qui en ont besoin peuvent s'y référer .

Explication détaillée de la comparaison entre les deux méthodes de déploiement de Nginx et PHP

2 méthodes de déploiementIntroduction

Le premier type

  • 1 serveur nginx devant pour le proxy inverse HTTP et l'équilibrage de charge

  • à l'arrière, Nginx de Nether Server fournit des services Web et appelle le service cgi rapide fourni par php-fpm

  • Cette méthode de déploiement est la plus courante. Les services Web et les services PHP sont tous deux présents sur le serveur. même serveur. Déploiement

Deuxième type

  1. Placer 1 serveur nginx devant pour le service Web

  2. Le serveur arrière déploie uniquement le service php-fpm pour que le serveur nginx appelle. Réalisez l'équilibrage de charge

  3. comme indiqué ci-dessous :

  4. <.>

Comparaison

Du point de vue de la conception du système

La première méthode de déploiement convient aux sites Web à grande, moyenne et petite échelle

Le deuxième est que différents services sont déployés sur différents serveurs, mais il y a plusieurs problèmes :

Le front-end nginx agit comme un service Web. Les ressources >statiques

, la transmission de compression, les paramètres de

mise en cache

, etc. sont également concentrés ici sur un serveur. La pression sera grande et cela peut facilement devenir un goulot d'étranglement. 🎜>
    Si les ressources statiques sont stockées dans CDN et ne nécessitent pas de transmission par compression HTTP, cette méthode de déploiement est relativement raisonnable
  • Héritant des deux points ci-dessus, cette méthode de déploiement peut ; également être optimisé, comme l'équilibrage de charge nginx et le proxy inverse au milieu, et le service php-fpm déployé à l'arrière

  • Par rapport à la deuxième méthode de déploiement, la première méthode nécessite. une interaction inter-processus supplémentaire.
  • Selon la première méthode de 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 (interaction inter-processus
  • Selon le deuxième déploiement, lorsqu'une requête http arrive, nginx, qui fait office de service Web, interagit directement avec php-fpm via le réseau

    Dans le premier déploiement, l'interaction via le réseau est le protocole HTTP, le deuxième type d'interaction via le réseau est le rapide- protocole cgi. Comment ces deux protocoles se comparent-ils ?
  1. 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. que HTTP. Le protocole cgi rapide est formaté plus strictement que le protocole HTTP et est plus rapide à analyser. Du point de vue de l'exploitation et de la maintenance

  2. 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.
  3. 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, sans proxy inverse ni équilibrage de charge.

Résumé

S'il s'agit d'un déploiement dans un environnement LAMP, le premier type est plus courant.

S'il ne s'agit pas de LAMP, c'est nginx qui interagit avec d'autres services fastcgi, tels que les programmes C/C++ et Java fastcgi. Dans les applications réseau à grande échelle, un déploiement similaire au second est courant. Le déploiement séparé de différents services simplifie la structure réseau du système et facilite la maintenance.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Objectif de PHP: Construire des sites Web dynamiques Objectif de PHP: Construire des sites Web dynamiques Apr 15, 2025 am 12:18 AM

PHP est utilisé pour créer des sites Web dynamiques, et ses fonctions principales incluent: 1. Générer du contenu dynamique et générer des pages Web en temps réel en se connectant à la base de données; 2. Traiter l'interaction utilisateur et les soumissions de formulaires, vérifier les entrées et répondre aux opérations; 3. Gérer les sessions et l'authentification des utilisateurs pour offrir une expérience personnalisée; 4. Optimiser les performances et suivre les meilleures pratiques pour améliorer l'efficacité et la sécurité du site Web.

PHP et Python: exemples de code et comparaison PHP et Python: exemples de code et comparaison Apr 15, 2025 am 12:07 AM

PHP et Python ont leurs propres avantages et inconvénients, et le choix dépend des besoins du projet et des préférences personnelles. 1.Php convient au développement rapide et à la maintenance des applications Web à grande échelle. 2. Python domine le domaine de la science des données et de l'apprentissage automatique.

PHP et Python: différents paradigmes expliqués PHP et Python: différents paradigmes expliqués Apr 18, 2025 am 12:26 AM

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Comment configurer le nom de domaine du serveur cloud dans nginx Comment configurer le nom de domaine du serveur cloud dans nginx Apr 14, 2025 pm 12:18 PM

Comment configurer un nom de domaine NGINX sur un serveur cloud: Créez un enregistrement A pointant vers l'adresse IP publique du serveur cloud. Ajoutez des blocs d'hôtes virtuels dans le fichier de configuration Nginx, en spécifiant le port d'écoute, le nom de domaine et le répertoire racine du site Web. Redémarrez Nginx pour appliquer les modifications. Accéder à la configuration du test de nom de domaine. Autres notes: Installez le certificat SSL pour activer HTTPS, assurez-vous que le pare-feu autorise le trafic Port 80 et attendez que la résolution DNS prenne effet.

Comment vérifier la version nginx Comment vérifier la version nginx Apr 14, 2025 am 11:57 AM

Les méthodes qui peuvent interroger la version Nginx sont: utilisez la commande nginx -v; Afficher la directive de version dans le fichier nginx.conf; Ouvrez la page d'erreur Nginx et affichez le titre de la page.

PHP: Gestion des bases de données et logique côté serveur PHP: Gestion des bases de données et logique côté serveur Apr 15, 2025 am 12:15 AM

PHP utilise les extensions MySQLI et PDO pour interagir dans les opérations de base de données et le traitement de la logique côté serveur, et traite la logique côté serveur via des fonctions telles que la gestion de session. 1) Utilisez MySQLI ou PDO pour vous connecter à la base de données et exécuter les requêtes SQL. 2) Gérer les demandes HTTP et l'état de l'utilisateur via la gestion de session et d'autres fonctions. 3) Utiliser les transactions pour assurer l'atomicité des opérations de base de données. 4) Empêcher l'injection de SQL, utiliser les connexions de gestion des exceptions et de clôture pour le débogage. 5) Optimiser les performances via l'indexation et le cache, écrivez du code très lisible et effectuez une gestion des erreurs.

Pourquoi utiliser PHP? Avantages et avantages expliqués Pourquoi utiliser PHP? Avantages et avantages expliqués Apr 16, 2025 am 12:16 AM

Les principaux avantages du PHP comprennent la facilité d'apprentissage, un soutien solide sur le développement Web, les bibliothèques et les cadres riches, les performances élevées et l'évolutivité, la compatibilité multiplateforme et la rentabilité. 1) Facile à apprendre et à utiliser, adapté aux débutants; 2) une bonne intégration avec les serveurs Web et prend en charge plusieurs bases de données; 3) ont des cadres puissants tels que Laravel; 4) Des performances élevées peuvent être obtenues grâce à l'optimisation; 5) prendre en charge plusieurs systèmes d'exploitation; 6) Open source pour réduire les coûts de développement.

See all articles