Table des matières
? Comment Nginx choisit le bloc d'emplacement à utiliser
? Modèles communs que vous devriez connaître
✅ Servir efficacement les fichiers statiques
✅ Demandes d'API proxy
✅ Bloquer des fichiers sensibles
✅ Correspondance exacte pour les contrôles racinaires ou de santé
⚠️ Pièces pour éviter
✅ Astuce pro: testez votre configuration comme un pro
Maison Opération et maintenance Nginx Master les blocs d'emplacement Nginx

Master les blocs d'emplacement Nginx

Jul 23, 2025 am 12:26 AM

Nginx sélectionne les blocs d'emplacement en fonction de la priorité: = (correspondance exacte) est la plus élevée, ^ ~ (match de préfixe) est le deuxième, ~ ou ~ * (match régulier) est le plus bas, et le préfixe normal est le plus bas; 2. Les modèles communs incluent ^ ~ Optimiser les fichiers statiques, / interface API / Proxy, ~ Masking Files caché, = chemin racine de réponse rapide; 3. Évitez les pièges: n'abusez pas de régularité, faites attention aux différences de barres obliques et utilisez raisonnablement Try_Files pour mettre en œuvre le routage des spa; 4. Après modification, vous devez utiliser Sudo Nginx -T pour tester la configuration et ajouter temporairement / débogage pour vérifier la logique de correspondance. Maîtrisez l'ordre prioritaire et écrivez une configuration Nginx efficace et sûre.

Master les blocs d'emplacement Nginx

Les blocs d'emplacement NGINX sont l'une des fonctionnalités les plus puissantes et les plus mal compris dans la configuration Nginx. Ils déterminent comment Nginx gère les demandes en fonction du chemin d'URL - mais les règles de correspondance et de priorité peuvent être difficiles si vous ne savez pas quoi rechercher.

Master les blocs d'emplacement Nginx

Voici comment maîtriser les blocs d'emplacement Nginx sans se perdre dans la jungle de syntaxe.


? Comment Nginx choisit le bloc d'emplacement à utiliser

Lorsqu'une demande arrive (par exemple, /api/users ), Nginx vérifie tous les blocs location définis et en sélectionne un en utilisant une commande de priorité stricte:

Master les blocs d'emplacement Nginx
  1. = (correspondance exacte) - priorité la plus élevée

     localisation = / api {
        # Uniquement des matchs / API exactement - pas plus, pas moins
    }
  2. ^~ (Match du préfixe, sensible à la casse, pas de regex)

    Master les blocs d'emplacement Nginx
     Emplacement ^ ~ / statique / {
        # Matchs /static/css/app.css, etc., mais arrête d'autres vérifications regex
    }
  3. * ~ (Regex de cas) ou `~ ` (regex insensible à la cas) **

     Emplacement ~ * \. (Jpg | png | gif) $ {
        #Serves Fichiers image - insensible à la casse
    }
  4. Match préfixe non modifié (pas d'opérateur) - Priorité la plus basse parmi les matchs

     emplacement / {
        # Fallback - correspond à tout le reste
    }

Astuce de clé : Nginx n'utilise pas l'ordre dans votre fichier de configuration - il utilise cette logique de priorité. Ainsi, mettre un bloc Regex avant un match exact ne changera rien.


? Modèles communs que vous devriez connaître

✅ Servir efficacement les fichiers statiques

 Emplacement ^ ~ / Assets / {
    root / var / www / myapp;
    expire 1Y;
    Add_header Cache-Control "public, immuable";
}
  • Utilise ^~ pour éviter les frais généraux d'expulsion
  • Définit de longs en-têtes de cache pour les performances

✅ Demandes d'API proxy

 Emplacement / API / {
    proxy_pass http: // backend;
    proxy_set_header host $ host;
}
  • Préfixe Match → Gandles /api/v1/users , etc.
  • Pas de regex = plus rapide que ~ /api/

✅ Bloquer des fichiers sensibles

 Emplacement ~ / \. {
    nier tout;
    retour 404;
}
  • Bloque l'accès à des fichiers cachés comme .env , .git/

✅ Correspondance exacte pour les contrôles racinaires ou de santé

 localisation = / {
    Retour 200 "OK";
    Add_header Type de contenu Text / PLAIN;
}
  • Réponse la plus rapide possible - pas d'ambiguïté

⚠️ Pièces pour éviter

  • Ne mélangez pas le regex et le préfixe sans préoccupation
    Si vous avez les deux location /api/ et location ~ /API/ , le préfixe gagne à moins que vous n'utilisiez ^~ ou = .

  • Regarder des barres obliques à traîne
    location /path Matchs /path et /path/anything
    Mais location /path/ ne correspond que des chemins en commençant par /path/ - subtil mais important!

  • Regex coûte cher
    Évitez le regex sauf si vous en avez vraiment besoin (comme les extensions de fichiers ou les chemins dynamiques). Utilisez ^~ ou des préfixes simples lorsque cela est possible.

  • Utilisez judicieusement try_files à l'intérieur des emplacements

     emplacement / {
        try_files $ uri $ uri / /index.html;
    }

    C'est ainsi que vous activez le routage SPA (par exemple, les applications React / Vue).


✅ Astuce pro: testez votre configuration comme un pro

Après édition:

 sudo nginx -t

Pour voir quel emplacement nginx choisit pour une URL donnée, ajoutez-le temporairement:

 Emplacement / débogage {
    Retour 200 "Matted: / Debug \ n";
}

Ensuite, testez avec curl http://yoursite/debug .

Ou utilisez des outils comme nginxconfig.io pour visualiser et générer des configurations sûres.


La maîtrise des blocs de localisation Nginx ne consiste pas à mémoriser chaque opérateur - il s'agit de comprendre l' ordre prioritaire et de savoir quand utiliser chaque type. Une fois que vous avez obtenu cela, l'écriture de configuration Nginx rapide, sécurisée et maintenable devient une seconde nature.

Fondamentalement, n'oubliez pas: = , puis ^~ , puis ~ / ~* , puis préfixe ordinaire. Tout le reste coule à partir de là.

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

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.

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 !

Article chaud

Porce de variable PHP expliquée
1 Il y a quelques mois By 百草
Commentant le code en php
4 Il y a quelques semaines By 百草
<🎜>: Grow A Garden - Guide complet des marchands itinérants
3 Il y a quelques semaines By Jack chen
Conseils pour écrire des commentaires PHP
4 Il y a quelques semaines By 百草

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 PHP
1510
276
Comment configurer un bloc de serveur Nginx (hôte virtuel)? Comment configurer un bloc de serveur Nginx (hôte virtuel)? Jul 19, 2025 am 02:00 AM

TOSETUPANNGINXSERVERBLOCK, FirstUnderstanditsStructureusingTheServerDirectivewithSettingSlikeListen, Server_name, andlocation; Next, CreateadirectoryStructureForyOrsitesuchas / var / www / example.com

Comment bloquer des agents utilisateur spécifiques? Comment bloquer des agents utilisateur spécifiques? Jul 26, 2025 am 08:20 AM

Pour bloquer un agent utilisateur spécifique, il peut être implémenté dans Nginx, Apache ou Code (comme PHP, Python). 1. Dans nginx, juge $ http_user_agent par if et retour 403; 2. Dans Apache, utilisez setenvifNocase et niez pour refuser l'accès; 3. Juger l'utilisateur-agent dans le programme et intercepter la demande. Les UAS communs qui doivent être bloqués comprennent les refonces de python, la boucle, l'UA vide, etc. Le choix de la méthode appropriée peut réduire efficacement le trafic des ordures et les risques de sécurité.

Comment servir efficacement les fichiers vidéo MP4 avec le module MP4? Comment servir efficacement les fichiers vidéo MP4 avec le module MP4? Jul 20, 2025 am 04:01 AM

Pour fournir efficacement les fichiers vidéo MP4, vous devez activer les demandes de plage d'octets, optimiser la structure des fichiers, le codage rationnel et la compression et adopter la mise en cache stratégique. Tout d'abord, activez la demande de plage d'octets (acceptation des gammes: octets) pour prendre en charge les sauts vidéo, les émissions interrompues et les flux de débit binaire adaptatifs; Deuxièmement, utilisez des outils tels que Qt-FastStart pour déplacer les atomes MOOV au début du fichier pour réaliser un jeu de fond; Troisièmement, utilisez le codage H.264 / H.265, définissez raisonnablement le débit binaire et activez le codage à double pass pour réduire la taille du fichier tout en garantissant la qualité; Enfin, en définissant des en-têtes de contrôle de cache à long terme et en utilisant CDN pour la mise en cache des bords, réduisez la charge du serveur et améliorez la vitesse de réponse.

Comment sécuriser un serveur Nginx? Comment sécuriser un serveur Nginx? Jul 25, 2025 am 01:00 AM

Les mesures clés pour protéger la sécurité des serveurs Nginx incluent: 1. Configurer les connexions cryptées HTTPS, utiliser des certificats gratuits de LETSCRYPT et les configurer automatiquement via CERTBOT, configurer des sauts forcés et des suites de chiffrement appropriées et permettre le renouvellement automatique; 2. Restreindre les autorisations d'accès, protéger les chemins sensibles via le contrôle IP et l'authentification Basic Auth; 3. Éteignez les fuites d'informations, masquez les numéros de version, interdisez la navigation du répertoire et personnalisez les pages d'erreur pour réduire la surface d'attaque.

Comment utiliser Nginx comme un équilibreur de charge HTTP simple? Comment utiliser Nginx comme un équilibreur de charge HTTP simple? Jul 21, 2025 am 01:48 AM

Comment implémenter l'équilibrage de la charge HTTP à l'aide de Nginx? Les réponses sont les suivantes: 1. Utilisez le module en amont pour définir le groupe de serveurs backend et transférer la demande via proxy_pass dans le serveur ou l'emplacement; 2. Soutenir le sondage, le sondage pondéré, la connexion minimale et les politiques de hachage IP; 3. Vous pouvez configurer les paramètres Down, Backup, Fail_timeout et Max_Fails pour améliorer la stabilité; 4. Après avoir modifié la configuration, exécutez la syntaxe de vérification NGINX-T et utilisez Nginx-Sreload pour prendre effet. Par exemple, la structure de configuration de base comprend trois nœuds backend utilisant le sondage pour distribuer le trafic par défaut, tandis que le sondage pondéré permet l'allocation des demandes en poids, le moins_connexion enverra la demande

Pourquoi Nginx ne démarre-t-il pas et comment trouver l'erreur? Pourquoi Nginx ne démarre-t-il pas et comment trouver l'erreur? Jul 18, 2025 am 02:24 AM

Le défaut de démarrage de Nginx est généralement causé par des erreurs de configuration, des conflits de port ou des problèmes d'autorisation. Vérifiez d'abord le journal d'erreur NGINX, utilisez la commande sudototail-f / var / log / nginx / error.log pour afficher les dernières informations d'erreur en temps réel; Deuxièmement, testez la syntaxe du fichier de configuration, exécutez Sudonginx-T pour vous assurer qu'il n'y a pas d'erreurs de syntaxe; Confirmez ensuite si les autres processus occupent le port 80 ou 443 et utilisez sudonetstat-tulpn | grep ': 80 \ |: 443' pour détecter et gérer les conflits; Vérifiez enfin les autorisations de fichiers et la propriété pour vous assurer que Nginx a l'autorisation d'accéder aux répertoires et fichiers pertinents.

Comment utiliser les jilèges ou les expressions régulières dans Server_name? Comment utiliser les jilèges ou les expressions régulières dans Server_name? Jul 23, 2025 am 01:43 AM

Lorsque vous utilisez Server_name dans Nginx pour correspondre à plusieurs domaines ou sous-domaines, il peut être réalisé grâce à des caractères génériques et des expressions régulières. 1. Lors de l'utilisation des jilèges, l'astérisque ne peut être utilisé que pour le début ou la fin, et doit être une limite d'étiquette complète. Par exemple, .example.com peut correspondre aux sous-domaines de premier niveau mais n'inclut pas les domaines racine ou les sous-domaines à plusieurs niveaux. Si vous devez faire correspondre les domaines racine et les sous-domaines de premier niveau, il doit être écrit comme example.com * .example.com; 2. Lorsque vous utilisez des expressions régulières, vous devez commencer par ~, comme ~ ^ \ w. (Dev | test) $ peut faire correspondre les noms de domaine se terminant par .dev ou .test, et prendre en charge les appels de groupe de capture; 3. La priorité correspondante est le nom exact> le plus long préfixe de joker> le plus long suffixe générique &

Processus et connexions des travailleurs Nginx Processus et connexions des travailleurs Nginx Jul 27, 2025 am 03:15 AM

Définissez Worker_Processes sur Auto (c'est-à-dire le nombre de cœurs CPU) pour utiliser pleinement les performances multi-cœurs; 2. Définir Worker_Connections (tel que 1024 ou plus) en fonction de la limitation du descripteur du fichier système et du trafic attendu pour garantir que Ulimit-n est suffisamment grand; 3. Le nombre maximum de connexions simultanées = Worker_Processs × Worker_Connections, une configuration raisonnable peut prendre en charge des milliers à des dizaines de milliers de connexions, éviter les goulots d'étranglement et améliorer les performances de l'environnement de production de Nginx.

See all articles