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:start [2018/06/04 10:44]
admin
logiciel:internet:nginx:start [2018/06/07 11:24] (Version actuelle)
admin
Ligne 14: Ligne 14:
 ===== - Pré-requis ===== ===== - Pré-requis =====
  
-  * Ajoutez ​la clé du dépôt ​:<​cli>​moi@pc:~$ wget -q -O - https://​nginx.org/​keys/​nginx_signing.key | sudo apt-key add - +  * Ajoutez ​le ppa stable ​::<​cli>​$ sudo add-apt-repository ​ppa:nginx/stable 
-[sudo] Mot de passe de moi :  +$ sudo apt update</​cli>​
-OK +
-moi@pc:~$</cli> +
-  * Ajoutez le dépôt :<​cli>​moi@pc:​~$ sudo add-apt-repository ​"​deb-src http://nginx.org/packages/​ubuntu/​ $(lsb_release -sc) nginx" +
-moi@pc:~$ sudo apt-get update</​cli>​+
 ===== - Installation ===== ===== - Installation =====
- 
-Installez le paquet **[[apt>​nginx]]** ou en ligne de commande : 
-<​cli>​$ sudo apt install nginx</​cli>​ 
  
 Installez le paquet **[[apt>​nginx-full]]** ou en ligne de commande : Installez le paquet **[[apt>​nginx-full]]** ou en ligne de commande :
 <​cli>​$ sudo apt install nginx-full</​cli>​ <​cli>​$ sudo apt install nginx-full</​cli>​
-===== - Configuration ===== 
  
 L'​installation a créé l'​arborescence : L'​installation a créé l'​arborescence :
  
-<a2s>/​etc/​nginx/​ +<cli>$ tree --dirsfirst ​/​etc/​nginx/​ 
-|    fastcgi.conf +/etc/nginx/ 
-|    fastcgi_params +├── conf.d 
-|    koi-utf +├── modules-available 
-|    koi-win +├── modules-enabled 
-|    mime.types +│   ├── 50-mod-http-auth-pam.conf -> /​usr/​share/​nginx/​modules-available/​mod-http-auth-pam.conf 
-|    ​nginx.conf +│   ├── 50-mod-http-dav-ext.conf -> /usr/share/nginx/​modules-available/​mod-http-dav-ext.conf 
-|    proxy_params +│   ├── 50-mod-http-echo.conf -> /​usr/​share/​nginx/​modules-available/​mod-http-echo.conf 
-|    scgi_params +│   ├── 50-mod-http-geoip.conf -> /​usr/​share/​nginx/​modules-available/​mod-http-geoip.conf 
-|    uwsgi_params +│   ├── 50-mod-http-image-filter.conf -> /usr/​share/​nginx/​modules-available/​mod-http-image-filter.conf 
-|    win-utf +│   ├── 50-mod-http-subs-filter.conf -> /​usr/​share/​nginx/​modules-available/mod-http-subs-filter.conf 
-+│   ├── 50-mod-http-upstream-fair.conf -> /usr/​share/​nginx/​modules-available/​mod-http-upstream-fair.conf 
-+-- conf.d+│   ├── 50-mod-http-xslt-filter.conf ​-> /usr/share/nginx/modules-available/mod-http-xslt-filter.conf 
-+-- sites-available/​ +│   ├── 50-mod-mail.conf -> /usr/​share/​nginx/​modules-available/​mod-mail.conf 
-|       ​default +│   └── 50-mod-stream.conf -> /​usr/​share/​nginx/​modules-available/​mod-stream.conf 
-+-- sites-enabled+├── sites-available 
-|       ​default ​---> /etc/nginx/sites-available/default +│   └── default 
-+-- snippets+├── sites-enabled 
-        ​fastcgi-php.conf +├── snippets 
-        ​snakeoil.conf</a2s>+└── nginx.conf 
 +</cli>
  
 +Vérification : en ouvrant [[http://​localhost]],​ il s'​affiche :
 +{{ :​logiciel:​internet:​nginx:​nginx_01.png |}}
 +===== - Configuration =====
  
-Le fichier de configuration ​de **nginx** est **/​etc/​nginx/​nginx.conf** ​((ou **/​usr/​local/​nginx/​conf/​nginx.conf** ou **/​usr/​local/​etc/​nginx/​nginx.conf** selon les systèmes)).. +Le fichier de configuration ((qui pilote ​le fonctionnement de **nginx** et de ses modules)) de **nginx** ​est **/​etc/​nginx/​nginx.conf**.
- +
-Il définit ​le fonctionnement de **nginx** et de ses modules+
- +
-<WRAP center round tip 60%> +
-Pour mieux gérer la configuration,​ nous vous recommandons ​de la diviser en un ensemble de fichiers spécifiques stockés dans le répertoire ​**/etc/nginx/conf.d**+
- +
-Le fichier **nginx.conf** principal contient les directives<​code - /​etc/​nginx/​nginx.conf+
-... +
-include /​etc/​nginx/​conf.d/​*.conf; +
-include /​etc/​nginx/​sites-available/​*+
-... +
-</​code>​ +
-qui appellent ces fichiers. Les répertoires +
-  * Le répertoire **conf.d/** est destiné aux fichiers de configuration +
-  * Le répertoire **sites-available/​** est destiné aux serveurs virtuels. +
-</​WRAP>​ +
- +
- +
-==== - Structure du fichier de configuration ====+
  
 +++++ Structure du fichier de configuration |
 +<WRAP center round info 60%>
 Dans une ligne, ce qui suit un **#** est un commentaire. Dans une ligne, ce qui suit un **#** est un commentaire.
  
Ligne 80: Ligne 59:
   * Certaines directives sont des conteneurs (appelés <<​blocs>>​) qui regroupent des directives en les entourant d'​accolades ( {} )   * Certaines directives sont des conteneurs (appelés <<​blocs>>​) qui regroupent des directives en les entourant d'​accolades ( {} )
  
-<WRAP center round info 60%> 
 Voici quelques exemples de directives simples. Voici quelques exemples de directives simples.
 <code - /​etc/​nginx/​nginx.conf>​ <code - /​etc/​nginx/​nginx.conf>​
Ligne 89: Ligne 67:
 ... ...
 </​code>​ </​code>​
-</​WRAP>​ 
- 
- 
-==== - Directives ==== 
- 
- 
- 
-==== - Contextes ==== 
  
-Quelques directives de premier niveau, appelées contextes, regroupent les directives qui s'​appliquent à différents types de trafic :+Quelques directives de premier niveau, appelées ​**contextes**, regroupent les directives qui s'​appliquent à différents types de trafic :
   ? events   ? events
   : Processus général de connexion   : Processus général de connexion
Ligne 108: Ligne 78:
   : flux TCP et UDP   : flux TCP et UDP
  
-Les directives placées à l'​extérieur de ces contextes sont dans le contexte principal. +Les directives placées à l'​extérieur de ces contextes sont dans le **contexte ​principal**.
- +
-==== - Serveurs Virtuels ==== +
- +
-Dans chacun des contextes de gestion du trafic, vous incluez un ou plusieurs blocs **server** pour définir les serveurs virtuels qui contrôlent le traitement des demandes. +
- +
-Les directives que vous pouvez inclure dans un contexte ​de serveur varient en fonction du type de flux. +
- +
-Pour le flux HTTP (contexte **http**), chaque directive **server** contrôle le traitement des demandes de ressources sur des domaines ou des adresses IP particuliers. +
- +
-Dans un contexte **server**, un ou plusieurs contextes **location** définissent comment traiter des groupes spécifiques d'​URI. +
- +
-Pour le flux mail et TCP/UDP (contextes **mail** et **stream**) les directives **server** contrôlent chacune le traitement du trafic arrivant sur un port TCP ou un socket UNIX particulier. +
- +
-Vous pouvez partir du fichier exemple fourni : +
-<​cli>​moi@pc:​~$ sudo cp /​etc/​nginx/​sites-available/​default /​etc/​nginx/​sites-available/​localhost</​cli>​ +
-==== - Exemple de fichier de configuration avec plusieurs contextes ====+
  
 La configuration suivante illustre l'​utilisation des contextes : La configuration suivante illustre l'​utilisation des contextes :
Ligne 160: Ligne 114:
 } }
 </​code>​ </​code>​
 +
 +</​WRAP>​
 +++++
 +
 +Pour mieux gérer la configuration,​ on utilise des fichiers spécifiques stockés dans le répertoire **/​etc/​nginx/​conf.d**.
 +
 +Pour les hôtes virtuels, on utilise des fichiers spécifiques stockés dans le répertoire **/​etc/​nginx/​sites-available** qui contient un fichier modèle :​**/​etc/​nginx/​sites-available/​default**
 +
 +
 +==== - Serveurs Virtuels ====
 +
 +Dans chacun des contextes de gestion du trafic, vous incluez un ou plusieurs blocs **server** pour définir les serveurs virtuels qui contrôlent le traitement des demandes.
 +
 +Les directives que vous pouvez inclure dans un contexte de serveur varient en fonction du type de flux.
 +
 +Pour le flux HTTP (contexte **http**), chaque directive **server** contrôle le traitement des demandes de ressources sur des domaines ou des adresses IP particuliers.
 +
 +Dans un contexte **server**, un ou plusieurs contextes **location** définissent comment traiter des groupes spécifiques d'URI.
 +
 +Pour le flux mail et TCP/UDP (contextes **mail** et **stream**) les directives **server** contrôlent chacune le traitement du trafic arrivant sur un port TCP ou un socket UNIX particulier.
 +
 +Vous pouvez partir du fichier exemple fourni :
 +<​cli>​moi@pc:​~$ sudo cp /​etc/​nginx/​sites-available/​default /​etc/​nginx/​sites-available/​localhost</​cli>​
  
 ==== - Héritage ==== ==== - Héritage ====

Navigation

éditer cette page

QR Code
QR Code Nginx : le serveur Web hautes performances (generated for current page)