Table des matières
introduction
Le concept de base de Nginx
Analyse approfondie des blocs de serveurs
Définition et fonction
Comment ça marche
L'essence du proxy inversé
Exemple d'utilisation
Utilisation de base
Utilisation avancée
Erreurs courantes et conseils de débogage
Optimisation des performances et meilleures pratiques
Résumer
Maison Opération et maintenance Nginx 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
反向代理 nginx配置

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;
        }
    }
}
Copier après la connexion
Copier après la connexion

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;
        }
    }
}
Copier après la connexion

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;
        }
    }
}
Copier après la connexion

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;
        }
    }
}
Copier après la connexion
Copier après la connexion

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;
        }
    }
}
Copier après la connexion

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;
        }
    }
}
Copier après la connexion

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 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)

Sujets chauds

Tutoriel Java
1664
14
Tutoriel PHP
1267
29
Tutoriel C#
1239
24
Comment utiliser Nginx avec FastAPI pour le proxy inverse et l'équilibrage de charge Comment utiliser Nginx avec FastAPI pour le proxy inverse et l'équilibrage de charge Aug 01, 2023 am 09:44 AM

Comment utiliser Nginx avec FastAPI pour le proxy inverse et l'équilibrage de charge Introduction : FastAPI et Nginx sont deux outils de développement Web très populaires. FastAPI est un framework Python hautes performances et Nginx est un puissant serveur proxy inverse. L'utilisation conjointe de ces deux outils peut améliorer les performances et la fiabilité de vos applications Web. Dans cet article, nous apprendrons comment utiliser Nginx avec FastAPI pour le proxy inverse et l'équilibrage de charge. Qu'est-ce que la génération inverse

Application du contrôle d'accès et du contrôle de flux dans le proxy inverse Nginx Application du contrôle d'accès et du contrôle de flux dans le proxy inverse Nginx Jun 10, 2023 pm 06:58 PM

Nginx est un serveur Web hautes performances, open source et polyvalent qui est également largement utilisé comme serveur proxy inverse. Les serveurs proxy inverses peuvent être utilisés pour fournir des fonctionnalités telles que l'équilibrage de charge, la haute disponibilité, le contrôle d'accès et le contrôle du trafic. Cet article présentera l'application du contrôle d'accès et du contrôle de flux dans le proxy inverse Nginx. 1. Liste noire/liste blanche d'adresses IP de contrôle d'accès Nginx peut mettre en œuvre un contrôle d'accès sur les demandes en configurant une liste noire ou une liste blanche d'adresses IP. Les adresses IP de la liste noire se verront refuser l'accès, tandis que les adresses IP de la liste blanche

Explication détaillée du proxy inverse et du transfert de requêtes dans le cadre Gin Explication détaillée du proxy inverse et du transfert de requêtes dans le cadre Gin Jun 23, 2023 am 11:43 AM

Avec le développement rapide des applications Web, de plus en plus d'entreprises ont tendance à utiliser le langage Golang pour le développement. Dans le développement Golang, l’utilisation du framework Gin est un choix très populaire. Le framework Gin est un framework Web hautes performances qui utilise fasthttp comme moteur HTTP et possède une conception d'API légère et élégante. Dans cet article, nous approfondirons l'application du proxy inverse et le transfert de requêtes dans le framework Gin. Le concept de proxy inverse Le concept de proxy inverse consiste à utiliser le serveur proxy pour rendre le client

Configuration de la page d'erreur Nginx, embellissement des invites d'échec du site Web Configuration de la page d'erreur Nginx, embellissement des invites d'échec du site Web Jul 04, 2023 pm 01:33 PM

Configuration de la page d'erreur Nginx pour embellir les invites de panne du site Web. Pendant le fonctionnement du site Web, il est inévitable de rencontrer des erreurs de serveur ou d'autres défauts. Ces problèmes empêcheront les utilisateurs d'accéder normalement au site Web. Afin d'améliorer l'expérience utilisateur et l'image du site Web, nous pouvons configurer les pages d'erreur Nginx pour embellir les invites d'échec du site Web. Cet article explique comment personnaliser la page d'erreur via la fonction de configuration de la page d'erreur de Nginx et fournit des exemples de code comme référence. 1. Modifiez le fichier de configuration Nginx. Tout d'abord, nous devons ouvrir la configuration Nginx.

Configuration du cache proxy inverse Nginx pour accélérer l'accès aux pages Web statiques Configuration du cache proxy inverse Nginx pour accélérer l'accès aux pages Web statiques Jul 04, 2023 pm 06:09 PM

Configuration du cache proxy inverse Nginx pour obtenir une accélération statique de l'accès aux pages Web Introduction : Avec le développement rapide d'Internet, la vitesse d'accès est devenue un facteur très important dans les opérations des sites Web. Afin d'améliorer la vitesse d'accès aux pages Web, nous pouvons utiliser la technologie de mise en cache de proxy inverse Nginx pour accélérer les pages Web. Cet article explique comment utiliser Nginx pour configurer le cache proxy inverse afin d'accélérer les pages Web statiques. Configuration du cache proxy inverse Nginx : Installer Nginx : vous devez d'abord installer le serveur Nginx, ce qui peut être effectué via apt-ge

Comment utiliser Nginx Proxy Manager pour implémenter un proxy inverse sous le protocole HTTPS Comment utiliser Nginx Proxy Manager pour implémenter un proxy inverse sous le protocole HTTPS Sep 26, 2023 am 08:40 AM

Comment utiliser NginxProxyManager pour implémenter un proxy inverse sous protocole HTTPS Ces dernières années, avec la popularité d'Internet et la diversification des scénarios d'application, les méthodes d'accès aux sites Web et aux applications sont devenues de plus en plus complexes. Afin d'améliorer l'efficacité et la sécurité de l'accès aux sites Web, de nombreux sites Web ont commencé à utiliser des proxys inverses pour traiter les demandes des utilisateurs. Le proxy inverse du protocole HTTPS joue un rôle important dans la protection de la confidentialité des utilisateurs et dans la sécurité des communications. Cet article expliquera comment utiliser NginxProxy

Utilisation de Nginx Proxy Manager pour mettre en œuvre une stratégie d'équilibrage de charge de proxy inverse Utilisation de Nginx Proxy Manager pour mettre en œuvre une stratégie d'équilibrage de charge de proxy inverse Sep 26, 2023 pm 12:05 PM

Utilisez NginxProxyManager pour mettre en œuvre une stratégie d'équilibrage de charge de proxy inverse NginxProxyManager est un outil de gestion de proxy basé sur Nginx qui peut nous aider à mettre en œuvre facilement un proxy inverse et un équilibrage de charge. En configurant NginxProxyManager, nous pouvons distribuer les requêtes à plusieurs serveurs backend pour réaliser un équilibrage de charge et améliorer la disponibilité et les performances du système. 1. Installez et configurez NginxProxyManager

Configuration du cache proxy inverse Nginx pour améliorer la vitesse d'accès au site Web Configuration du cache proxy inverse Nginx pour améliorer la vitesse d'accès au site Web Jul 04, 2023 pm 10:01 PM

Configuration du cache proxy inverse Nginx pour améliorer la vitesse d'accès aux sites Web Introduction : À l'ère d'Internet, la vitesse d'accès aux sites Web est cruciale. Un site Web qui se charge lentement rend les utilisateurs impatients et peut entraîner un désabonnement des utilisateurs. Afin d'améliorer la vitesse d'accès au site Web, une méthode courante consiste à réduire la charge sur le serveur et à accélérer le chargement de la page en utilisant le cache proxy inverse. Cet article explique comment utiliser Nginx pour configurer le cache proxy inverse afin d'améliorer la vitesse d'accès au site Web. 1. Qu'est-ce que le cache proxy inverse Nginx ? Ngin

See all articles