Le système de configuration de Nginx se compose d'un fichier de configuration principal et de quelques autres fichiers de configuration auxiliaires. Ces fichiers de configuration sont tous des fichiers texte brut, tous situés dans le répertoire conf sous le répertoire d'installation de Nginx. (Apprentissage recommandé : Tutoriel nginx)
Les lignes commençant par # dans le fichier de configuration, ou les lignes précédées d'un nombre d'espaces ou de TAB puis suivies de #, sont considérées comme It est un commentaire, c'est-à-dire qu'il n'a de sens que pour l'utilisateur qui modifie et visualise le fichier. Lorsque le programme lit ces lignes de commentaire, son contenu réel est ignoré.
Étant donné que des fichiers autres que le fichier de configuration principal nginx.conf sont utilisés dans certaines circonstances, seul le fichier de configuration principal est utilisé dans toutes les circonstances. Nous prenons donc ici le fichier de configuration principal comme exemple pour expliquer le système de configuration de Nginx.
Dans nginx.conf, il contient plusieurs éléments de configuration. Chaque élément de configuration se compose de deux parties : les instructions de configuration et les paramètres d'instruction. Les paramètres d'instruction sont les valeurs de configuration correspondant aux instructions de configuration.
Présentation de la commande
La commande de configuration est une chaîne, qui peut être placée entre guillemets simples ou doubles, ou non. Cependant, si la directive de configuration contient des espaces, elle doit être citée.
Paramètres de la commande
Les paramètres de la commande sont séparés de la commande par un ou plusieurs espaces ou caractères TAB. Les paramètres de l'instruction sont constitués d'une ou plusieurs chaînes TOKEN. Les chaînes TOKEN sont séparées par des espaces ou des touches TAB.
Les chaînes TOKEN sont divisées en chaînes simples ou en blocs de configuration composites. Un bloc de configuration composé est un ensemble de contenu entouré d'accolades. Un bloc de configuration composite peut contenir plusieurs autres directives de configuration.
Si les paramètres d'une instruction de configuration sont tous composés de chaînes simples, c'est-à-dire qu'elle ne contient pas de blocs de configuration composés, alors on dit que l'instruction de configuration est un élément de configuration simple, sinon elle est appelée complexe élément de configuration. Par exemple, ce qui suit est un élément de configuration simple :
error_page 500 502 503 504 /50x.html;
Pour une configuration simple, utilisez un point-virgule à la fin de l'élément de configuration. Pour les éléments de configuration complexes contenant plusieurs chaînes TOKEN, la chaîne TOKEN simple est généralement placée au début et le bloc de configuration composite est généralement placé à la fin, et il n'est pas nécessaire d'ajouter un point-virgule à la fin. Par exemple, l'élément de configuration complexe suivant :
location / { root /home/jizhao/nginx-book/build/html; index index.html index.htm; }
Contexte d'instruction
Les informations de configuration dans nginx.conf sont classées selon leur signification logique, et elles sont divisées en plusieurs portées, ou appelé contexte d'instruction de configuration. Différentes étendues contiennent un ou plusieurs éléments de configuration.
Plusieurs contextes de commandes actuellement supportés par Nginx :
main : Certains paramètres de Nginx qui n'ont rien à voir avec des fonctions métier spécifiques (comme le service http ou le proxy du service de messagerie ) au moment de l'exécution, comme le nombre de processus de travail, l'identité en cours d'exécution, etc.
http : Quelques paramètres de configuration liés à la fourniture du service http. Par exemple : s'il faut utiliser keepalive, s'il faut utiliser gzip pour la compression, etc.
serveur : Plusieurs hôtes virtuels sont pris en charge sur le service http. Chaque hôte virtuel possède un élément de configuration de serveur correspondant, qui contient la configuration liée à l'hôte virtuel. Lorsque vous fournissez un proxy pour les services de messagerie, vous pouvez également établir plusieurs serveurs, et chaque serveur se distingue par son adresse d'écoute.
location : Une série d'éléments de configuration correspondant à certaines URL spécifiques dans le service http.
mail : Quelques éléments de configuration partagés lors de l'implémentation de proxys SMTP/IMAP/POP3 liés à la messagerie (car il est possible d'implémenter plusieurs proxys et de travailler sur plusieurs adresses d'écoute).
Contexte de commande, il peut y avoir des situations d'inclusion. Par exemple : Habituellement, le contexte http et le contexte mail doivent apparaître dans le contexte principal. Un contexte peut contenir plusieurs fois des contextes d’un autre type. Par exemple : si le service http prend en charge plusieurs hôtes virtuels, plusieurs contextes de serveur apparaîtront dans le contexte http.
Jetons un coup d'œil à un exemple de configuration :
user nobody; worker_processes 1; error_log logs/error.log info; events { worker_connections 1024; } http { server { listen 80; server_name www.linuxidc.com; access_log logs/linuxidc.access.log main; location / { index index.html; root /var/www/linuxidc.com/htdocs; } } server { listen 80; server_name www.Androidj.com; access_log logs/androidj.access.log main; location / { index index.html; root /var/www/androidj.com/htdocs; } } } mail { auth_http 127.0.0.1:80/auth.php; pop3_capabilities "TOP" "USER"; imap_capabilities "IMAP4rev1" "UIDPLUS"; server { listen 110; protocol pop3; proxy on; } server { listen 25; protocol smtp; proxy on; smtp_auth login plain; xclient off; } }
Dans cette configuration, les cinq contextes de commande de configuration mentionnés ci-dessus existent.
Les directives de configuration qui existent dans le contexte principal sont les suivantes :
userworker_processeserror_logeventshttpmail
Les directives qui existent dans le contexte http sont les suivantes :
server
Les directives qui existent dans le contexte de messagerie sont les suivants :
serverauth_httpimap_capabilities
Les directives de configuration qui existent dans le contexte du serveur sont les suivantes :
listenserver_nameaccess_loglocationprotocolproxysmtp_authxclient
Les directives qui existent dans le contexte de localisation sont les suivantes :
indexroot
Bien sûr, ce ne sont que quelques exemples. Pour des instructions de configuration spécifiques et le contexte dans lequel ces instructions de configuration peuvent apparaître, vous devez vous référer à la documentation d'utilisation de Nginx.
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!