recherche
MaisonOpération et maintenanceNginxConfiguration avancée de Nginx: Mastering Server Blocks et proxy inversé

La configuration avancée de Nginx peut être implémentée via des blocs de serveur et du proxy inversé: 1. Les blocs de serveur permettent d'exécuter plusieurs sites Web en une seule instance, chaque bloc est configuré indépendamment. 2. Le proxy inversé transfère la demande au serveur backend pour réaliser l'équilibrage de charge et l'accélération du cache.

Configuration avancée de Nginx: Mastering Server Blocks et proxy inversé

introduction

Dans l'océan d'Internet, Nginx est sans aucun doute le cuirassé indestructible. Il est aimé des développeurs et du personnel d'opération pour ses performances élevées et sa flexibilité. Cependant, comment pouvons-nous vraiment naviguer dans ce navire de guerre et réaliser son potentiel maximum? Cet article vous emmènera dans la discussion plus approfondie des compétences avancées de configuration de Nginx, en particulier les applications des blocs de serveur et de l'inverse proxy. En lisant cet article, vous apprendrez à configurer Nginx de manière raffinée afin qu'elle puisse être facilement assouplie dans des environnements de réseau complexes.

Le concept de base de Nginx

En tant que serveur HTTP haute performance et serveur proxy inversé, Nginx est son mécanisme de traitement, asynchrone et non bloquant les événements. Cela rend Nginx particulièrement bon pour gérer des demandes simultanées élevées. Server Blocks est un concept clé dans la configuration Nginx, qui permet de définir plusieurs configurations de serveur dans une instance NGINX, implémentant ainsi la fonction d'hébergement virtuel d'un nom de domaine ou d'une adresse IP. Le proxy inversé est une technologie qui transmet les demandes du client au serveur backend via Nginx, qui est souvent utilisé pour l'équilibrage de charge et l'accélération du cache.

Par exemple, une configuration Nginx simple peut ressembler à ceci:

 http {
    serveur {
        Écoutez 80;
        server_name example.com;
        emplacement / {
            root /var/www/example.com;
            index index.html;
        }
    }
}

Ce code définit un serveur qui écoute le port 80, répond aux demandes du nom de domaine Example.com et pointe le répertoire racine de la demande à /var/www/example.com .

Analyse approfondie des blocs de serveurs

Les blocs de serveur sont la partie principale de la configuration Nginx, qui vous permet d'exécuter plusieurs sites Web ou services dans la même instance Nginx. Chaque bloc de serveur peut configurer indépendamment le port d'écoute, le nom de domaine, le fichier journal, etc. pour obtenir une flexibilité élevée.

Définition et fonction

La définition d'un bloc de serveur est très simple, mais sa fonction est très puissante. Il vous permet d'exécuter plusieurs sites Web ou services dans une instance NGINX, chacun avec sa propre configuration sans interférer les uns avec les autres. Il s'agit d'une fonctionnalité très utile pour les administrateurs de serveurs hébergeant plusieurs sites Web.

Par exemple, vous pouvez définir deux blocs de serveur différents comme celui-ci:

 http {
    serveur {
        Écoutez 80;
        server_name example1.com;
        emplacement / {
            root /var/www/example1.com;
            index index.html;
        }
    }

    serveur {
        Écoutez 80;
        server_name example2.com;
        emplacement / {
            root /var/www/example2.com;
            index index.html;
        }
    }
}

Comment ça marche

Lorsque Nginx reçoit une demande, il vérifie d'abord l'en-tête de l'hôte de la demande, puis correspond au bloc de serveur approprié en fonction de la directive server_name . Si aucun bloc de serveur n'est adapté, Nginx utilisera le bloc de serveur par défaut pour le traitement. Cela nécessite une attention particulière lors de la configuration, car cela peut entraîner un comportement inattendu.

L'essence du proxy inversé

Le proxy inversé est une autre caractéristique puissante de Nginx. Il peut transmettre les demandes des clients au serveur backend, réalisant ainsi l'équilibrage de charge, l'accélération de cache et d'autres fonctions.

Définition et fonction

La définition d'un proxy inverse consiste à transmettre les demandes du client au serveur backend via Nginx. Sa fonction est qu'il peut masquer la véritable adresse IP du serveur backend, assurer une sécurité supplémentaire et également obtenir un équilibrage de charge et améliorer la fiabilité et les performances du système.

Par exemple, une configuration proxy inverse simple peut ressembler à ceci:

 http {
    Backend en amont {
        serveur localhost: 8080;
        serveur localhost: 8081;
    }

    serveur {
        Écoutez 80;
        server_name example.com;
        emplacement / {
            proxy_pass http: // backend;
            proxy_set_header host $ host;
            proxy_set_header x-real-ip $ Remote_addr;
        }
    }
}

Ce code définit un groupe de serveurs en amont appelé backend , contient deux serveurs backend, puis transmet toutes les demandes de ce groupe de serveurs.

Comment ça marche

Lorsque Nginx agit comme un proxy inversé, il reçoit les demandes du client, puis transmet les demandes au serveur backend en fonction de la configuration. Nginx peut sélectionner des serveurs arrière en fonction de différents algorithmes d'équilibrage de charge (tels que le sondage, une connexion minimale, etc.), réalisant ainsi une distribution de demande efficace.

Exemple d'utilisation

Utilisation de base

Commençons par une configuration de bloc de serveur simple:

 http {
    serveur {
        Écoutez 80;
        server_name example.com;
        emplacement / {
            root /var/www/example.com;
            index index.html;
        }
    }
}

Ce code définit un serveur qui écoute le port 80, répond aux demandes du nom de domaine Example.com et pointe le répertoire racine de la demande à /var/www/example.com .

Utilisation avancée

Examinons maintenant une configuration plus complexe qui combine les blocs de serveurs et le proxy inversé:

 http {
    Backend en amont {
        serveur localhost: 8080;
        serveur localhost: 8081;
    }

    serveur {
        Écoutez 80;
        server_name example.com;
        emplacement / {
            proxy_pass http: // backend;
            proxy_set_header host $ host;
            proxy_set_header x-real-ip $ Remote_addr;
        }
    }

    serveur {
        Écoutez 80;
        server_name api.example.com;
        emplacement / {
            proxy_pass http: // backend;
            proxy_set_header host $ host;
            proxy_set_header x-real-ip $ Remote_addr;
        }
    }
}

Ce code définit deux blocs de serveur, l'un par exemple.com et l'autre pour API.example.com. Les deux utilisent le même backend de groupe de serveurs backend, mais peuvent être configurés différemment au besoin.

Erreurs courantes et conseils de débogage

Les erreurs communes lors de la configuration de Nginx incluent:

  • Erreur de syntaxe du fichier de configuration: utilisez la commande nginx -t pour vérifier la syntaxe du fichier de configuration.
  • Problème de correspondance du bloc de serveur: assurez-vous que votre server_name est configuré correctement, sinon la demande peut être traitée de manière incorrecte.
  • Erreur de configuration proxy inverse: assurez-vous que proxy_pass pointe vers le groupe de serveurs en amont correct et que les informations d'en-tête nécessaires sont définies.

Optimisation des performances et meilleures pratiques

Dans les applications pratiques, comment optimiser la configuration de Nginx pour des performances optimales? Voici quelques suggestions:

  • Utilisation du cache: Nginx prend en charge le contenu statique du cache, ce qui peut améliorer considérablement la vitesse de réponse.
  • Ajustez le nombre de processus de travail: ajustez l'instruction worker_processes en fonction du nombre de cœurs CPU du serveur, qui peuvent améliorer les capacités de traitement simultanées.
  • Activer la compression GZIP: en activant la compression GZIP, vous pouvez réduire la quantité de données transmises et augmenter la vitesse de transmission.

Par exemple, ce qui suit est un exemple de configuration Nginx optimisé:

 http {
    gzip sur;
    gzip_vary sur;
    gzip_proxied tout;
    gzip_comp_level 6;
    GZIP_TYPES Text / Text brut / CSS Application / JSON Application / JavaScript Text / XML Application / XML Application / XML RSS Text / JavaScript;

    proxy_cache_path / var / cache / nginx niveaux = 1: 2 keys_zone = static: 10m inactive = 24h max_size = 1g;

    serveur {
        Écoutez 80;
        server_name example.com;
        emplacement / {
            root /var/www/example.com;
            index index.html;
            try_files $ uri $ uri / = 404;
        }

        Emplacement ~ * \. (Jpg | jpeg | png | gif | ico | css | js) $ {
            expire 1Y;
            log_not_found off;
            Add_header Cache-Control "Public, No-TRANSFORM";
            proxy_cache static;
            proxy_cache_valid 200 1d;
            proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
        }
    }
}

Ce code permet la compression GZIP, configure la mise en cache de fichiers statique et ajuste les stratégies de cache pour améliorer les performances de Nginx.

Résumer

Grâce à cet article, vous auriez dû maîtriser l'essence de la configuration avancée Nginx, en particulier l'application des blocs de serveur et de l'inverse proxy. Que vous soyez un débutant ou une personne expérimentée d'exploitation et de maintenance, ces conseils vous aideront à mieux gérer et optimiser vos serveurs Nginx. N'oubliez pas que la configuration de Nginx est un art qui nécessite une pratique et une optimisation constantes pour vraiment exercer ses fonctions puissantes.

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
Caractéristiques clés de Nginx: performances, évolutivité et sécuritéCaractéristiques clés de Nginx: performances, évolutivité et sécuritéApr 13, 2025 am 12:09 AM

Nginx améliore les performances grâce à son architecture axée sur les événements et à ses capacités de traitement asynchrones, améliore l'évolutivité grâce à la conception modulaire et à la configuration flexible, et améliore la sécurité via le chiffrement SSL / TLS et la limitation du taux de demande.

Nginx vs Apache: hébergement Web et gestion du traficNginx vs Apache: hébergement Web et gestion du traficApr 12, 2025 am 12:04 AM

Nginx convient aux scénarios élevés de concurrence et de consommation de ressources faibles, tandis qu'Apache convient aux scénarios qui nécessitent des configurations complexes et des extensions fonctionnelles. 1.Nginx est connu pour gérer un grand nombre de connexions simultanées avec des performances élevées. 2. Apache est connue pour sa stabilité et son riche support de modules. Lors du choix, il doit être décidé sur la base de besoins spécifiques.

Nginx: l'outil polyvalent pour les applications Web modernesNginx: l'outil polyvalent pour les applications Web modernesApr 11, 2025 am 12:03 AM

NginxissentialformodernwebapplicationsduetOtsRolesAsAreverseproxy, loadbalancer etwebserver, offrant la performance de la dressage de la mise

Configuration Nginx SSL / TLS: sécuriser votre site Web avec HTTPSConfiguration Nginx SSL / TLS: sécuriser votre site Web avec HTTPSApr 10, 2025 am 09:38 AM

Pour assurer la sécurité du site Web via NGINX, les étapes suivantes sont requises: 1. Créez une configuration de base, spécifiez le certificat SSL et la clé privée; 2. Optimiser la configuration, activer HTTP / 2 et OCSPStapling; 3. Débogage des erreurs communes, telles que les problèmes de trajectoire de certificat et de suite de cryptage; 4. Suggestions d'optimisation des performances de l'application, telles que l'utilisation de Let'scrypt et du multiplexage de session.

Questions d'entrevue Nginx: Ace Your DevOps / System Admin InterviewQuestions d'entrevue Nginx: Ace Your DevOps / System Admin InterviewApr 09, 2025 am 12:14 AM

Nginx est un serveur HTTP et proxy inversé haute performance qui est bon pour gérer des connexions simultanées élevées. 1) Configuration de base: écoutez le port et fournissez des services de fichiers statiques. 2) Configuration avancée: implémenter le proxy inverse et l'équilibrage de charge. 3) Compétences de débogage: vérifiez le journal des erreurs et testez le fichier de configuration. 4) Optimisation des performances: activer la compression GZIP et ajuster les politiques de cache.

Techniques de mise en cache Nginx: Amélioration des performances du site WebTechniques de mise en cache Nginx: Amélioration des performances du site WebApr 08, 2025 am 12:18 AM

Le cache Nginx peut améliorer considérablement les performances du site Web via les étapes suivantes: 1) définir la zone de cache et définir le chemin du cache; 2) Configurer la période de validité du cache; 3) définir différentes politiques de cache en fonction de différents contenus; 4) Optimiser le stockage du cache et l'équilibrage de la charge; 5) Surveiller et déboguer les effets du cache. Grâce à ces méthodes, le cache Nginx peut réduire la pression du serveur arrière, améliorer la vitesse de réponse et l'expérience utilisateur.

Nginx avec docker: déploiement et mise à l'échelle des applications conteneuriséesNginx avec docker: déploiement et mise à l'échelle des applications conteneuriséesApr 07, 2025 am 12:08 AM

L'utilisation de DockerCompose peut simplifier le déploiement et la gestion de Nginx, et la mise à l'échelle via Dockerswarm ou Kubernetes est une pratique courante. 1) Utilisez DockerCose pour définir et exécuter les conteneurs Nginx, 2) implémenter la gestion des cluster et la mise à l'échelle automatique via Dockerswarm ou Kubernetes.

Configuration avancée de Nginx: Mastering Server Blocks et proxy inverséConfiguration avancée de Nginx: Mastering Server Blocks et proxy inverséApr 06, 2025 am 12:05 AM

La configuration avancée de Nginx peut être implémentée via des blocs de serveur et un proxy inversé: 1. Les blocs de serveur permettent d'exécuter plusieurs sites Web en une seule instance, chaque bloc est configuré indépendamment. 2. Le proxy inversé transfère la demande au serveur backend pour réaliser l'équilibrage de charge et l'accélération du cache.

See all articles

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser