Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
logiciel:internet:nginx:debutant [2018/07/11 11:23]
admin
logiciel:internet:nginx:debutant [2018/09/03 07:50] (Version actuelle)
admin
Ligne 3: Ligne 3:
 ====== Nginx : Guide du débutant ====== ====== Nginx : Guide du débutant ======
  
-Ce guide est une introduction de base à **nginx** qui décrit quelques tâches simples qu'il peut réaliser. 
-  
-On suppose **nginx** déjà installé sur la machine. Si ce n'est pas le cas, reportez-vous à la page //​Installation de nginx//. 
- 
-Ce guide explique : 
-  * comment démarrer et arrêter **nginx**, et recharger sa configuration,​ 
-  * la structure du fichier de configuration 
-  * comment configurer **nginx** pour diffuser du contenu statique, 
-  * comment configurer **nginx** comme serveur proxy 
-  * et comment le connecter avec une application **FastCGI**. 
- 
-**nginx** a un processus maître et plusieurs processus de travail. 
- 
-Le processus maître lit la configuration,​l'​évalue et gère les processus de travail qui font le traitement réel des demandes. 
- 
-**nginx** utilise un modèle basé sur les événements et des mécanismes du système d'​exploitation pour traiter efficacement les demandes entre les processus de travail. 
- 
-Le nombre de processus de travail est défini dans le fichier de configuration ; il peut être 
-  * fixé pour une configuration donnée 
-  * ou ajusté automatiquement au nombre de cœurs de CPU disponibles. 
- 
-Le fichier de configuration de nginx déterminé son fonctionnement et celui de ses modules. 
- 
-Par défaut, le fichier de configuration est **usr/​local/​nginx/​conf/​nginx.conf**,​ **/​etc/​nginx/​nginx.conf** ou **/​usr/​local/​etc/​nginx/​nginx.conf**. 
  
-====== - Démarrer, arrêter et recharger la configuration ====== 
- 
-Pour démarrer nginx, exécutez le fichier exécutable. 
- 
-Une fois **nginx** démarré, on le contrôle en invoquant l'​exécutable avec le paramètre -s selon la syntaxe suivante : 
-<​cli>​$ nginx -s signal</​cli>​ 
-où le signal peut être l'un des suivants : 
-  ? stop 
-  : arrêt rapide 
-  ? quit 
-  : arrêt progressif 
-  ? reload 
-  : recharger le fichier de configuration 
-  ? reopen 
-  : réouverture des fichiers journaux 
- 
-Par exemple, pour arrêter **nginx** avec attente de la fin des processus en cours, exécutez : 
-<​cli>​$ nginx -s quit</​cli>​ 
- 
-Exécutez cette commande sous l'​utilisateur qui a démarré de nginx. 
- 
-Les modifications du fichier de configuration ne s’appliqueront que quand la commande de rechargement de la configuration est envoyée à nginx ou qu'il est redémarré. 
- 
-Pour recharger la configuration,​ exécutez : 
-Changes made in the configuration file will not be applied until the command to reload configuration is sent to nginx or it is restarted. To reload configuration,​ execute: 
-<​cli>​$ nginx -s reload</​cli>​ 
- 
-Once the master process receives the signal to reload configuration,​ it checks the syntax validity of the new configuration file and tries to apply the configuration provided in it. If this is a success, the master process starts new worker processes and sends messages to old worker processes, requesting them to shut down. Otherwise, the master process rolls back the changes and continues to work with the old configuration. Old worker processes, receiving a command to shut down, stop accepting new connections and continue to service current requests until all such requests are serviced. After that, the old worker processes exit. 
- 
-A signal may also be sent to nginx processes with the help of Unix tools such as the kill utility. In this case a signal is sent directly to a process with a given process ID. The process ID of the nginx master process is written, by default, to the nginx.pid in the directory /​usr/​local/​nginx/​logs or /var/run. For example, if the master process ID is 1628, to send the QUIT signal resulting in nginx’s graceful shutdown, execute: 
- 
-    kill -s QUIT 1628 
- 
-For getting the list of all running nginx processes, the ps utility may be used, for example, in the following way: 
- 
-    ps -ax | grep nginx 
- 
-For more information on sending signals to nginx, see Controlling nginx. 
- 
-====== - Configuration File’s Structure ====== 
- 
-nginx consists of modules which are controlled by directives specified in the configuration file. Directives are divided into simple directives and block directives. A simple directive consists of the name and parameters separated by spaces and ends with a semicolon (;). A block directive has the same structure as a simple directive, but instead of the semicolon it ends with a set of additional instructions surrounded by braces ({ and }). If a block directive can have other directives inside braces, it is called a context (examples: events, http, server, and location). 
- 
-Directives placed in the configuration file outside of any contexts are considered to be in the main context. The events and http directives reside in the main context, server in http, and location in server. 
- 
-The rest of a line after the # sign is considered a comment. 
  
 ====== - Serving Static Content ====== ====== - Serving Static Content ======
Ligne 205: Ligne 135:
  
 ====== - Introduction ====== ====== - Introduction ======
 +
 +Ce guide est une introduction de base à **nginx** qui décrit quelques tâches simples qu'il peut réaliser.
 + 
 +On suppose **nginx** déjà installé sur la machine. Si ce n'est pas le cas, reportez-vous à la page //​Installation de nginx//.
 +
 +Ce guide explique :
 +  * comment démarrer et arrêter **nginx**, et recharger sa configuration,​
 +  * la structure du fichier de configuration
 +  * comment configurer **nginx** pour diffuser du contenu statique,
 +  * comment configurer **nginx** comme serveur proxy
 +  * et comment le connecter avec une application **FastCGI**.
 +
 +**nginx** a un processus maître et plusieurs processus de travail.
 +
 +Le processus maître lit la configuration,​l'​évalue et gère les processus de travail qui font le traitement réel des demandes.
 +
 +**nginx** utilise un modèle basé sur les événements et des mécanismes du système d'​exploitation pour traiter efficacement les demandes entre les processus de travail.
 +
 +Le nombre de processus de travail est défini dans le fichier de configuration ; il peut être
 +  * fixé pour une configuration donnée
 +  * ou ajusté automatiquement au nombre de cœurs de CPU disponibles.
  
 ====== - Pré-requis ====== ====== - Pré-requis ======
Ligne 211: Ligne 162:
  
 ====== - Configuration ====== ====== - Configuration ======
 +
 +Le fichier de configuration de nginx déterminé son fonctionnement et celui de ses modules.
 +
 +Par défaut, le fichier de configuration est **usr/​local/​nginx/​conf/​nginx.conf**,​ **/​etc/​nginx/​nginx.conf** ou **/​usr/​local/​etc/​nginx/​nginx.conf**.
 +
 +===== - Structure du fichier de configuration =====
 +
 +**nginx** est constitué de modules contrôlés par des directives spécifiées dans le fichier de configuration
 +
 +Les directives sont des directives simples ou des blocs de directives.
 +
 +A simple directive consists of the name and parameters separated by spaces and ends with a semicolon (;). A block directive has the same structure as a simple directive, but instead of the semicolon it ends with a set of additional instructions surrounded by braces ({ and }). If a block directive can have other directives inside braces, it is called a context (examples: events, http, server, and location).
 +
 +Directives placed in the configuration file outside of any contexts are considered to be in the main context. The events and http directives reside in the main context, server in http, and location in server.
 +
 +The rest of a line after the # sign is considered a comment.
  
 ====== - Utilisation ====== ====== - Utilisation ======
 +
 +===== - Démarrer, arrêter et recharger la configuration =====
 +
 +Pour démarrer nginx, exécutez le fichier exécutable.
 +
 +Une fois **nginx** démarré, on le contrôle en invoquant l'​exécutable avec le paramètre -s selon la syntaxe suivante :
 +<​cli>​$ nginx -s signal</​cli>​
 +où le signal peut être l'un des suivants :
 +  ? stop
 +  : arrêt rapide
 +  ? quit
 +  : arrêt progressif
 +  ? reload
 +  : recharger le fichier de configuration
 +  ? reopen
 +  : réouverture des fichiers journaux
 +
 +Par exemple, pour arrêter **nginx** avec attente de la fin des processus en cours, exécutez :
 +<​cli>​$ nginx -s quit</​cli>​
 +
 +Exécutez cette commande sous l'​utilisateur qui a démarré de nginx.
 +
 +Les modifications du fichier de configuration ne s’appliqueront que quand la commande de rechargement de la configuration est envoyée à nginx ou qu'il est redémarré.
 +
 +Pour recharger la configuration,​ exécutez :
 +<​cli>​$ nginx -s reload</​cli>​
 +
 +Quand le processus maître reçoit le signal de recharger la configuration,​ il vérifie la syntaxe du nouveau fichier de configuration et essaie d’appliquer la nouvelle configuration.
 +
 +En cas de succès, le processus maître démarre de nouveaux processus de travail et envoie des messages pour fermer les anciens processus de travail.
 +
 +Sinon, le processus maître annule les modifications et continue de fonctionner avec l'​ancienne configuration.
 +
 +Les anciens processus de travail, qui reçoivent une commande d'​arrêt,​ cessent d'​accepter de nouvelles connexions et continuent à traiter les demandes en cours jusqu'​à ce que toutes ces demandes soient traitées. Après quoi l'​ancien processus de traitement s'​arrête.
 +
 +Un signal peut également être envoyé aux processus **nginx** via les outils Unix comme l'​utilitaire **kill**.
 +
 +Dans ce cas, un signal est envoyé directement au processus par son ID de processus.
 +
 +Par défaut, l'ID du processus maître **nginx** est écrit dans **nginx.pid** dans le répertoire **/​usr/​local/​nginx/​logs** ou **/​var/​run**.
 +
 +Par exemple, si l'ID de processus maître est 1628, pour envoyer le signal **QUIT** entraînant l'​arrêt progressif de **nginx**, exécutez:
 +<​cli>​$ kill -s QUIT 1628</​cli>​
 +
 +Pour obtenir la liste de tous les processus **nginx** en cours d'​exécution,​ vous pouvez utiliser ps, par exemple ainsi :
 +<​cli>​$ ps -ax | grep nginx</​cli>​
 +
 +For more information on sending signals to nginx, see Controlling nginx.
  
 ====== - Désinstallation ====== ====== - Désinstallation ======

QR Code
QR Code logiciel:internet:nginx:debutant (generated for current page)