Maison  >  Article  >  Opération et maintenance  >  Explication détaillée de la configuration en amont de Nginx pour réparer les pannes de sites Web

Explication détaillée de la configuration en amont de Nginx pour réparer les pannes de sites Web

WBOY
WBOYoriginal
2023-07-04 12:25:1815551parcourir

Explication détaillée de la configuration en amont de Nginx pour réparer les pannes de sites Web

Introduction :
Nginx est un serveur HTTP et proxy inverse hautes performances. Ses fonctions puissantes et sa configuration flexible en font un choix idéal pour de nombreux sites Web et services. Lors du fonctionnement du site Internet, des pannes et des pics de charge surviendront inévitablement. Afin d’assurer la disponibilité et la stabilité du site internet, nous devons maîtriser les compétences de configuration en amont de Nginx. Cet article présentera en détail les principes et l'utilisation de la configuration en amont de Nginx et démontrera, à travers des exemples de code, comment utiliser la configuration en amont pour réparer les pannes de sites Web.

1. Principe de la configuration amont de Nginx
Le module amont de Nginx nous permet de définir un groupe de serveurs backend et de transmettre les requêtes des clients vers ces serveurs backend selon certaines politiques. Grâce à la configuration en amont, des fonctions telles que l'équilibrage de charge et le basculement peuvent être réalisées. Nginx sélectionne automatiquement un serveur backend en fonction de la politique configurée et transmet les demandes des clients au serveur sélectionné. Lorsque le serveur principal tombe en panne, Nginx prend en charge l'élimination automatique du serveur défaillant et la redistribution des requêtes vers d'autres serveurs normaux.

2. Comment utiliser la configuration amont de Nginx

  1. Définir le bloc amont
    Dans le fichier de configuration Nginx, définissez un bloc amont via le mot-clé amont. Chaque bloc en amont peut contenir plusieurs serveurs backend et peut définir des stratégies d'équilibrage de charge et les paramètres associés. Voici un exemple :
upstream backend {
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

Dans la configuration ci-dessus, nous avons défini un bloc en amont nommé "backend", qui contient trois serveurs backend.

  1. Utilisation du bloc amont
    Dans le fichier de configuration Nginx, les requêtes des clients peuvent être transmises au serveur backend défini par le bloc amont via la directive proxy_pass. Voici un exemple de configuration :
location / {
    proxy_pass http://backend;
}

Dans la configuration ci-dessus, nous transmettons les requêtes des clients au serveur backend défini dans le bloc amont nommé "backend".

3. Comment utiliser la configuration en amont pour réparer les pannes de sites Web
Dans les opérations réelles de sites Web, nous rencontrons souvent des pannes de serveur back-end. Afin de maintenir la disponibilité du site Web, nous devons détecter et résoudre les pannes en temps opportun et garantir que le serveur défaillant n'affecte pas la qualité globale du service. En configurant correctement le bloc en amont, nous pouvons facilement mettre en œuvre le basculement et la réparation.

  1. Détecter la disponibilité du serveur backend
    Nginx prend en charge plusieurs méthodes pour détecter la disponibilité du serveur backend, notamment HTTP, TCP et UDP. Dans le bloc en amont, nous pouvons activer la fonctionnalité de vérification de l'état en définissant le mot-clé health_check. Voici un exemple de configuration :
upstream backend {
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;

    health_check;
}

Dans la configuration ci-dessus, nous activons la fonction de vérification de l'état en définissant le mot-clé health_check. Nginx enverra périodiquement des requêtes au serveur backend et déterminera la disponibilité du serveur en fonction du code d'état renvoyé.

  1. Supprimer les serveurs défectueux
    Lorsqu'un serveur tombe en panne, nous pouvons supprimer le serveur défectueux manuellement ou automatiquement. Voici un exemple de configuration :
upstream backend {
    server backend1.example.com;
    server backend2.example.com down;
    server backend3.example.com;

    health_check;
}

Dans la configuration ci-dessus, nous avons ajouté le mot-clé down après l'échec de la configuration du serveur. Lorsque Nginx détecte une panne de serveur, il supprime automatiquement le serveur marqué de la plage de sélection du bloc en amont.

  1. Définir le nombre maximum d'échecs
    Afin d'éviter les erreurs de jugement et les basculements fréquents, nous pouvons limiter le nombre maximum d'échecs du serveur défaillant en définissant le mot-clé max_fails. Voici un exemple de configuration :
upstream backend {
    server backend1.example.com max_fails=3 fail_timeout=30s;
    server backend2.example.com down;
    server backend3.example.com max_fails=3 fail_timeout=30s;

    health_check;
}

Dans la configuration ci-dessus, nous utilisons le mot-clé max_fails pour définir le nombre maximum d'échecs pour le serveur défectueux à 3 fois. Lorsque le nombre de pannes d'un serveur atteint la limite, Nginx le supprimera de la plage de sélection et n'essaiera plus de se connecter dans le délai d'expiration défini.

Conclusion :
En configurant correctement le bloc en amont de Nginx, nous pouvons réaliser des fonctions telles que l'équilibrage de charge et le basculement, et améliorer la disponibilité et la stabilité du site Web. Pendant le fonctionnement du site Web, nous devons rapidement découvrir et réparer les pannes du serveur principal, et assurer la disponibilité du serveur grâce aux fonctions de vérification de l'état et d'élimination des pannes en amont. J'espère que cet article vous aidera à comprendre les principes et l'utilisation de la configuration en amont de Nginx, et vous fournira de l'aide et des conseils lors de la réparation des pannes de sites Web.

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