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
Prochaine révision
Révision précédente
nginx [Le 15/08/2015, 05:08]
BeAvEr
nginx [Le 31/10/2023, 10:28] (Version actuelle)
bcag2 ancienne révision (Le 30/05/2023, 10:36) restaurée
Ligne 7: Ligne 7:
 ====== Nginx : serveur Web asynchrone ====== ====== Nginx : serveur Web asynchrone ======
  
-<note warning>​En cours de réédition --- //​[[:​utilisateurs:​beaver|beaver]] Le 13/08/2015, 15:​04//</​note>​ +**Nginx** (Engine X, prononcez [n-gèn-x]) est un serveur Web asynchrone écrit par Igor Sysoev pour les besoins d'un site russe à très fort trafic. Il peut être configuré pour faire office de serveur reverse proxy Web et de serveur proxy de messagerie électronique (IMAP/​POP3). Une partie de la documentation a été traduite du russe vers l'​anglais ​puis vers le français. Ses sources sont disponibles sous une licence de type BSD.
- +
-**Nginx** (Engine X, prononcez [n-gèn-x]) est un serveur Web asynchrone écrit par Igor Sysoev pour les besoins d'un site russe à très fort trafic. Il peut être configuré pour faire office de serveur reverse proxy Web et de serveur proxy de messagerie électronique (IMAP/​POP3). Une partie de la documentation a été traduite du russe vers l'​anglais. Ses sources sont disponibles sous une licence de type BSD.+
  
 ---- ----
Ligne 19: Ligne 17:
 ^ ^ nginx-extras ^ nginx-full ^ nginx-light ^ ^ ^ nginx-extras ^ nginx-full ^ nginx-light ^
 | Core, Access, Auth Basic, Auto Index, Charset, Empty GIF, FastCGI, Gzip, Headers, Index, Log, Map, Proxy, Rewrite, Upstream | X | X | X | | Core, Access, Auth Basic, Auto Index, Charset, Empty GIF, FastCGI, Gzip, Headers, Index, Log, Map, Proxy, Rewrite, Upstream | X | X | X |
-| User ID, UWSGI, Browser, Geo, Limit Requests, Limit Zone, Memcached, Referer, SCGI, Split Clients, SSI | X | X | | ​+| User ID, UWSGI, Browser, Geo, Limit Requests, Limit Zone, Memcached, Referer, SCGI, Split Clients, SSI | X | X | |
 | Gzip Precompression,​ IPv6, SSL, Stub Status | ​ X | X | X | | Gzip Precompression,​ IPv6, SSL, Stub Status | ​ X | X | X |
 | Substitution,​ WebDAV, XSLT, Addition, Debug, GeoIP, Image Filter, Real IP | ​ X | X | | | Substitution,​ WebDAV, XSLT, Addition, Debug, GeoIP, Image Filter, Real IP | ​ X | X | |
Ligne 38: Ligne 36:
 La configuration de Nginx est modularisée en plusieurs fichiers de configuration [[:​tutoriel:​comment_modifier_un_fichier|textuel]] que vous trouverez dans le dossier ///​etc/​nginx//:​ La configuration de Nginx est modularisée en plusieurs fichiers de configuration [[:​tutoriel:​comment_modifier_un_fichier|textuel]] que vous trouverez dans le dossier ///​etc/​nginx//:​
   * **nginx.conf:​** Le fichier de configuration globale du **serveur**. Les paramètres qui s'y trouvent doivent impacter l'​ensemble du serveur ; vous n'y toucherez normalement pas.   * **nginx.conf:​** Le fichier de configuration globale du **serveur**. Les paramètres qui s'y trouvent doivent impacter l'​ensemble du serveur ; vous n'y toucherez normalement pas.
-  * **mime.types:​** La liste des types MIME résolu ​par les extensions de fichiers. Cette liste indique la nature des fichiers ​renvoyées ​par le serveur (ex: ceci est une page web ou ceci est une vidéo ogg).+  * **mime.types:​** La liste des types MIME résolus ​par les extensions de fichiers. Cette liste indique la nature des fichiers ​renvoyés ​par le serveur (ex: ceci est une page web ou ceci est une vidéo ogg).
   * **sites-available:​** Contient les fichiers de configurations de vos sites ou services (un fichier par pré-occupation/​site/​service). Ce dossier est un //dépôt// ; les fichiers de configuration qui y sont ne sont pas pris en compte.   * **sites-available:​** Contient les fichiers de configurations de vos sites ou services (un fichier par pré-occupation/​site/​service). Ce dossier est un //dépôt// ; les fichiers de configuration qui y sont ne sont pas pris en compte.
   * **sites-enabled:​** Doit contenir des [[lien_physique_et_symbolique#​exemple_de_lien_symbolique|liens symboliques]] vers les fichiers de **site-available** que vous souhaitez activer.   * **sites-enabled:​** Doit contenir des [[lien_physique_et_symbolique#​exemple_de_lien_symbolique|liens symboliques]] vers les fichiers de **site-available** que vous souhaitez activer.
-  * **conf.d:​** ​ Emplacement pour appliquer les paramètres ​commun ​à tout les sites. Peut également servir de la même facon que **site-available** (renommer ses fichiers "​.conf"​ en "​.disabled"​ pour désactiver les sites).+  * **conf.d:​** ​ Emplacement pour appliquer les paramètres ​communs ​à tous les sites. Peut également servir de la même façon ​que **site-available** (renommer ses fichiers "​.conf"​ en "​.disabled"​ pour désactiver les sites).
  
 ---- ----
Ligne 47: Ligne 45:
 ==== Le nginx.conf par défaut ==== ==== Le nginx.conf par défaut ====
  
-Le fichier **nginx.conf** est l'​élément névralgique de votre serveur Nginx. Nous allons voir à quoi ressemble un fichier **nginx.conf** par défaut sous Ubuntu (avec une petite traduction en Français).+Le fichier **/etc/nginx/nginx.conf** est l'​élément névralgique de votre serveur Nginx. ​
  
-FIXME EN COURS --- //​[[:​utilisateurs:​beaver|beaver]] Le 11/08/201515:30//. +Après modificationil est prudent ​de le //tester// avec :  
-^ Les modules ^ Les explications ^ ​                                                   +<​code ​bash>nginx -t</​code>​ 
-|<​code>​user www-data; ##​**Syntaxe:​** **user** **user** **[group]**;</​code>​ | Définit l'​utilisateur et le groupe avec lequel le daemon Nginx sera lancé. Si le groupe ​est omis, un groupe dont le nom correspond à celui de l'​utilisateur sera utilisé. | + 
-|<​code>​worker_processes 4; ##​**Syntaxe:​** worker_processes **nombre** ​ **auto**; </​code>​ | La valeur optimale dépend de nombreux facteurs.. y compris (mais non limité à) au nombre de CPU que vous disposez; ​le nombre de disques durs.. etc :-). Si vous avez un doute sur la valeur à indiquer, veuillez prendre comme référence le nombre de CPU que vous disposez, vous pouvez aussi utiliser **auto**. |  +Puis, pour que les modifications ​de configuration soient prises en compte, il faut lancer ​(-send **s**ignal ((https://​www.nginx.com/resources/wiki/start/topics/tutorials/commandline/))) : 
-|<​code>​pid ​/run/nginx.pid;##​**Syntaxe:​** pid **fichier.pid**;<​/code> | Le fichier stockera le [[https://​fr.wikipedia.org/​wiki/​Identifiant_de_processus|PID]] de votre processus. | +<code bash>​nginx -s reload</​code>​
-|<​code>​events { worker_connections 768; ##**Syntaxe:** worker_connections **nombre**;</​code>​ | Définir le nombre maximal de connexions simultanées ouvertes par le processus. | +
-<​code>​multi_accept on;} ##​**Syntaxe:​** multi_accept **on** ​ **off**;</​code> ​| Si **multi_accept** est désactivé,​ le processus acceptera une nouvelle connexion à la fois, dans le cas contraire, le processus acceptera toutes les nouvelles connexions en même temps. |  +
-|<​code>​http { sendfile on; ##​**Syntaxe;​** sendfile **on** **off**;</​code>​ | Nous allons dire que nous avons un **index ​ index.php;​** dans notre virtual hostSendfile permettra de se délester de PHP pour l’envoi des fichiers aux navigateurs. Il est fortement recommandé d’utiliser ce module pour alléger ​les process sur le serveur. |  +
-|<​code>​tcp_nopush on; ##​**Syntaxe:​** tcp_nopush **on** ​ **off**</​code>​ | Le module **tcp_nopush** fait le contraire ​de **tcp_nodelay** : au lieu d’optimiser les délais d’envoi des informationsil optimise la quantité d’informations envoyée. **tcp_nopush** et **sendfile** sont indissociable((comprendre qu'il faut absolument que sendfile soit actif.. .)). |  +
-| <​code>​tcp_nodelay on; ##​**Syntaxe:​** tcp_nodelay **on** ​ **off**;</​code>​ | Active ou désactive l'​utilisation du module **tcp_nodelay**. Le module est utilisé uniquement si une connexion est passée en état (persistant)((keep TCP alive (maintenir TCP en vie), c'est à dire conserver la connexion TCP)) = (KeepAlive)((keep TCP alive (keep TCP alive (maintenir TCP en vie), c'est à dire conserver la connexion TCP)). | +
-|<​code>​keepalive_timeout 65; ##​**Syntaxe:​** keepalive_timeout **timeout** **[header_timeout]**;</​code>​ | **Le premier paramètre est obligatoire** définit un délai pendant lequel une connexion cliente KeepAlive restera ouverte côté serveur. La valeur 0 désactive les connexions clientes KeepAlive. **Le deuxième paramètre quand à lui est facultatif** définit la valeur de délai de l'​[[https://​fr.wikipedia.org/​wiki/​Header|entête // header]]. |  +
-|<​code>​types_hash_max_size 2048; ##​**Syntaxe:​** types_hash_max_size **taille**;</​code>​ | Définit la taille maximale des types de [[https://​fr.wikipedia.org/​wiki/​Table_de_hachage|tables de hachage]]. Les détails de la mise en place des tables de hachage sont fournis dans un document [[http://​nginx.org/​en/​docs/​hash.html|distinct]]. Pour traiter rapidement des ensembles de données statiques tels que le nom de votre serveur, les directions [[http://​nginx.org/​en/​docs/​http/​ngx_http_map_module.html#​map|map]],​ les [[https://​fr.wikipedia.org/​wiki/​Type_MIME|Types MIME]], etc ... Nginx utilise les tables de hachage. | +
-| <​code>​server_tokens off; ##​**Syntaxe:​** server_tokens **on** ​ **off**;</​code>​ | Active ou désactive l'​émission de votre [[https://​ubuntu-fr.org/​.ht|version]] Nginx. Dans notre exemple, nous voyons bien que le site ubuntu-fr.org cache sa version Nginx :-).|  +
-|<​code>​server_names_hash_bucket_size 64; ##​**Syntaxe:​**?</​code>​|En cours|  +
-|<​code>​server_name_in_redirect off; ##​**Syntaxe:​** server_name_in_redirect **on** ​ **off**;</​code>​| Quand le module **name_server** n'est pas définit dans votre virtual host, le contenu de **Host** dans le header est utilisé. Si ce champ n'est pas présent, l'​adresse IP du serveur est utilisée, si vous avez pas d'​adresse IP ... -> m(. GET **/** <- Le chemin absolu ou se trouve le fichier index.html. ​ **HTTP/​1.1** ​ <- La version http utilisée est 1.1, donc le **host**((https://​www.ietf.org/​rfc/​rfc2616.txt)) est obligatoire. **Host: ubuntu-fr.org** <- Le nom de domaine, c'est cette partie que tentera de récupérer le module **server_name_in_redirect** si il est actif(( GET **/** **HTTP/​1.1** User-Agent: curl/7.35.0 **Host: ubuntu-fr.org** Accept: */*)). | +
-|<​code>​include /etc/nginx/mime.types; ##La liste des types MIME résolu par les extensions de fichiers.<​/code> | Cette liste indique la nature des fichiers renvoyées par le serveur (ex: ceci est une page web http://​votrendd.tld/​hello.html ou ceci est une vidéo ogg ..  http://​votrendd.tld/​mavideo.ogg pour que Nginx "​comprenne"​ que c'est un format **.html** ou un format **.ogg** il lui faut un fichier mime.types).| +
-|<​code>​default_type application/​octet-stream;​ ##​**Syntaxe:​** default_type **mime-type**;</​code>​ | Définit le [[https://​fr.wikipedia.org/wiki/Type_MIME|Type MIME]] ​ par défaut d'une requête ACK. Un mappage sur l'​extension de [[https://fr.wikipedia.org/wiki/Type_MIME|Type MIME]] peut être configuré avec le module [[http://​nginx.org/​en/​docs/​http/​ngx_http_core_module.html#​types|type]]. |  +
-|<​code>​access_log /​var/​log/​nginx/​access.log;</​code>​ | Vous retrouverez dans votre fichier **access.log** les **GET'​S/​POST'​S** de chaque visiteur visitant votre site.| +
-|<​code>​error_log /​var/​log/​nginx/​error.log;</​code>​ | Ici à contrario vous retrouverez dans votre fichier **error.log** les erreurs **403, 404, 500, 503**, venant de vos visiteurs (par exemple):-).|  +
-|<​code>​gzip on; ##​**Syntaxe:​**gzip **on** | **off**;</​code>​|**ngx_http_gzip_module** est un filtre qui compresse les requêtes de type ACK à l'aide de la méthode « gzip ». Souvent, ça permet de réduire la taille des données transmises. ​ Nous pouvons via ce module, réduire de moitié les données transmises, voir même plus :-). |  +
-|<​code>​gzip_disable "​msie6";​ ##**Syntaxe:** gzip_disable **regex** ...;</​code>​ | Désactive via une regexp gzip. Le module utilisera encore une fois le header((GET / HTTP/1.1 **User-Agent:​** curl/7.35.0 Host: ubuntu-fr.org Accept: */*)) pour récupérer l'​**User-Agent** de votre visiteur. Vous noterez qu'il existe une exception à la règle concernant les regexp -> [[https://​fr.wikipedia.org/​wiki/​Internet_Explorer_6|msie6]] :-), si cette exception ne serait pas d'​actualité,​ nous aurions utilisé cette regexp: <​code>​MSIE [4-6]\.</​code>​.| +
-<code>​gzip_vary on; ##​**Syntaxe:​** gzip_vary **on** | **off**;</​code>​ | Active ou désactive l'​insertion de **Vary: Accept-Encoding** dans le header de votre requête ACK. Seulement si un des modules **gzip**, gzip_static ou gunzip sont actif. Dans le cas du site ubuntu-fr.org le module **gzip_vary** est sur **off**((http://​stackoverflow.com/​questions/​7848796/​what-does-varyaccept-encoding-mean)),​ la compression de notre header((HTTP/​1.1 200 OK Server: nginxContent-Type:​ text/html; charset=utf-8 Expires: Sun, 19 Nov 1978 05:00:00 GMT Last-Modified:​ Wed, 12 Aug 2015 21:43:15 +0000 ETag: "​1439415795"​ Content-Language:​ en X-Generator:​ Drupal 7 (http://​drupal.org) Link: </​intro>;​ rel="​canonical",</​node/​17>;​ rel="​shortlink"​ **Content-Encoding:​ gzip**)) ne semble donc pas active.. .| +
-|<​code>​gzip_proxied any; ##​**Syntaxe:​** gzip_proxied off | expired | **no-cache**</​code>​ <​code>​| no-store | private | no_last_modified | no_etag | auth | any;</​code>​| Active ou désactive la compression gzip pour les proxys. gzip_proxied vérifie le header((>​ GET / HTTP/1.1 User-Agent: curl/7.35.0 Host: ubuntu-fr.org Accept: */* HTTP/1.1 200 OK Server nginx is not blacklisted Server: nginx Content-Type:​ text/html; charset=utf-8 Expires: Sun, 19 Nov 1978 05:00:00 GMT Last-Modified:​ Wed, 12 Aug 2015 16:41:34 +0000 ETag: "​1439397694"​ Content-Language:​ en X-Generator:​ Drupal 7 (http://​drupal.org) Link: </​intro>;​ rel="​canonical",</​node/​17>;​ rel="​shortlink"​ Content-Length:​ 15956 Accept-Ranges:​ bytes Date: Wed, 12 Aug 2015 16:41:34 GMT Age: 0 Connection: keep-alive **Cache-Control**:​ **no-cache**,​ must-revalidate,​ max-age=0)) de votre connexion ACK  (la partie **Cache-Control**). Nous voyons bien que le site active la compression pour les connexions ACK, seulement si le header comporte le paramètre **no-cache** dans le **Cache-Control**.| +
-|<​code>​gzip_comp_level 6; ##​**Syntaxe:​** ?</​code>​| En cours |  +
-|<​code>​gzip_buffers 16 8k; ##​**Syntaxe:​** ?</​code>​| En cours |  +
-|<​code>​gzip_http_version 1.1; ##​**Syntaxe:​** ?</​code>​ | En cours |  +
-|<​code>​gzip_types text/plain text/css application/​json application/​x-javascript text/​xml</​code><​code>​application/​xml application/​xml+rss text/​javascript;​ ##​**Syntaxe:​** ?</​code>​| En cours |  +
-|<​code>​nginx-naxsi config ##​**Syntaxe:​** ?</​code>​ | En cours | +
-|<​code>​include /​etc/​nginx/​naxsi_core.rules;​ ##​**Syntaxe:​** ?</​code>​ | En cours | +
-|<​code>​nginx-passenger config;##​**Syntaxe:​** ?</​code>​ | En cours | +
-|<​code>​passenger_root /usr; ##​**Syntaxe:​** ?</​code>​ | En cours | +
-|<​code>​passenger_ruby /​usr/​bin/​ruby;​ ##​**Syntaxe:​** ?</​code>​ | En cours | +
-|<​code>​include /​etc/​nginx/​conf.d/​*.conf;</​code>​ | En bash, le métacaractère ** * ** correspond à aucun caractère, n'​importe quel caractère ou un ensemble de caractères,​ via ce métacaractère vous allez pouvoir charger tous vos fichiers **.conf** sans devoir en définir le nom au préalable. | +
-| <code>include /etc/nginx/sites-enabled/​*;​}</​code>​ | En bash, le métacaractère ** * ** correspond à aucun caractère, n'​importe quel caractère ou un ensemble de caractères,​ via ce métacaractère vous allez pouvoir charger tous vos fichiers ***.***. Cette partie contiendra vos sites internet actifs, à savoir que vous devez au préalable utiliser **/​etc/​nginx/​sites-available/​** :-). | +
-|<​code>​mail { auth_http localhost/​auth.php;​ ##​**Syntaxe:​** ?</​code>​| En cours |  +
-|<​code>​pop3_capabilities "​TOP"​ "​USER";​ ##​**Syntaxe:​** ?</​code>​| En cours |  +
-|<​code>​imap_capabilities "​IMAP4rev1"​ "​UIDPLUS";​ ##​**Syntaxe:​** ?</​code>​| En cours |  +
-|<​code>​server { listen ​    ​localhost:​110;​ ##​**Syntaxe:​** ?</​code>​ | En cours | +
-|<​code>​protocol ​  pop3; ##​**Syntaxe:​** ?</​code>​ | En cours | +
-|<​code>​proxy ​     on; ##​**Syntaxe:​**?</​code>​| En cours | +
-|<​code>​server { listen ​    ​localhost:​143;​ ##​**Syntaxe:​** ?</​code>​ | En cours | +
-|<​code>​protocol ​  imap; ##​**Syntaxe:​**?</​code>​ | En cours | +
-|<​code>​proxy ​     on;}} ##​**Syntaxe:​**?​</​code> ​| En cours |+
  
 ---- ----
Ligne 103: Ligne 63:
 Pour configurer votre nom de domaine (vhost), vous pouvez copier la configuration par défaut du vhost « default » puis y apporter vos modifications. Exemple : Pour configurer votre nom de domaine (vhost), vous pouvez copier la configuration par défaut du vhost « default » puis y apporter vos modifications. Exemple :
  
-  cp /​etc/​nginx/​sites-available/​default /​etc/​nginx/​sites-available/​mondomaine.tld+  ​sudo cp /​etc/​nginx/​sites-available/​default /​etc/​nginx/​sites-available/​mondomaine.tld
  
 Puis, modifier la configuration de votre nom de domaine mondomaine.tld en [[:​tutoriel:​comment_modifier_un_fichier|modifiant le fichier]] **/​etc/​nginx/​sites-available/​mondomaine.tld**. Puis, modifier la configuration de votre nom de domaine mondomaine.tld en [[:​tutoriel:​comment_modifier_un_fichier|modifiant le fichier]] **/​etc/​nginx/​sites-available/​mondomaine.tld**.
Ligne 133: Ligne 93:
  
   * Avoir lu la page de documentation sur [[:​nginx|Nginx : serveur Web asynchrone]].   * Avoir lu la page de documentation sur [[:​nginx|Nginx : serveur Web asynchrone]].
-  * Comprendre la fonction d'un reverse proxy ou un proxy inverse [[http://​fr.wikipedia.org/​wiki/​Reverse_proxy|Article wikipedia]].+  * Comprendre la fonction d'un reverse proxy ou un proxy inverse [[https://​fr.wikipedia.org/​wiki/​Reverse_proxy|Article wikipedia]].
  
 ==== Configuration ==== ==== Configuration ====
Ligne 142: Ligne 102:
  
  
-La configuration qui va suivre se décomposera en trois parties : +La configuration qui va suivre se décomposera en trois parties :
  
   * Le paramétrage global du serveur nginx.   * Le paramétrage global du serveur nginx.
   * Le paramétrage des fonctions de reverse proxy et de cache.   * Le paramétrage des fonctions de reverse proxy et de cache.
-  * Un exemple de configuration du serveur web se trouvant derrière le reverse proxy. ​+  * Un exemple de configuration du serveur web se trouvant derrière le reverse proxy.
  
 Les fichiers et les dossiers de configuration utilisés seront : Les fichiers et les dossiers de configuration utilisés seront :
Ligne 161: Ligne 121:
 La configuration se fait dans le fichier /​etc/​nginx/​nginx.conf La configuration se fait dans le fichier /​etc/​nginx/​nginx.conf
  
-Contenu du fichier ​+Contenu du fichier
  
 <​code>​ <​code>​
Ligne 237: Ligne 197:
 |gzip_comp_level ##​**Syntaxe:​** ?  | niveau de compression (peut aller jusqu'​à 9) | |gzip_comp_level ##​**Syntaxe:​** ?  | niveau de compression (peut aller jusqu'​à 9) |
 | gzip_proxied any ##​**Syntaxe:​** ?  | activer la compression pour la réponse du serveur web derrière le reverse proxy | | gzip_proxied any ##​**Syntaxe:​** ?  | activer la compression pour la réponse du serveur web derrière le reverse proxy |
-| gzip_vary on; ##​**Syntaxe:​** gzip_vary **on** ​ **off**; | Active ou désactive l'​insertion de **Vary: Accept-Encoding** dans le header de votre requête ACK. Seulement si un des modules **gzip**, gzip_static ou gunzip sont actif. Dans le cas du site ubuntu-fr.org le module **gzip_vary** est sur **off**((http://​stackoverflow.com/​questions/​7848796/​what-does-varyaccept-encoding-mean)),​ la compression de notre header ne semble donc pas active.. .((+| gzip_vary on; ##​**Syntaxe:​** gzip_vary **on** ​ **off**; | Active ou désactive l'​insertion de **Vary: Accept-Encoding** dans le header de votre requête ACK. Seulement si un des modules **gzip**, gzip_static ou gunzip sont actif. Dans le cas du site ubuntu-fr.org le module **gzip_vary** est sur **off**((https://​stackoverflow.com/​questions/​7848796/​what-does-varyaccept-encoding-mean)),​ la compression de notre header ne semble donc pas active.. .((
 HTTP/1.1 200 OK HTTP/1.1 200 OK
 Server: nginx Server: nginx
Ligne 260: Ligne 220:
 Accept: */*)) pour récupérer l'​**User-Agent** de votre visiteur. Vous noterez qu'il existe une exception à la règle concernant les regexp -> [[https://​fr.wikipedia.org/​wiki/​Internet_Explorer_6|msie6]] :-), si cette exception ne serait pas d'​actualité,​ nous aurions utilisé cette regexp: <​code>​MSIE [4-6]\.</​code>​ | Accept: */*)) pour récupérer l'​**User-Agent** de votre visiteur. Vous noterez qu'il existe une exception à la règle concernant les regexp -> [[https://​fr.wikipedia.org/​wiki/​Internet_Explorer_6|msie6]] :-), si cette exception ne serait pas d'​actualité,​ nous aurions utilisé cette regexp: <​code>​MSIE [4-6]\.</​code>​ |
 |limit_zone gulag $binary_remote_addr 1m ##​**Syntaxe:​** ? | crée une zone de stockage nommée « gulag » utilisant ​ moins de 1 mo de RAM, contenant l'​état des connexions classé par adresse ip | |limit_zone gulag $binary_remote_addr 1m ##​**Syntaxe:​** ? | crée une zone de stockage nommée « gulag » utilisant ​ moins de 1 mo de RAM, contenant l'​état des connexions classé par adresse ip |
-| limit_conn gulag 50 ##​**Syntaxe:​** ? | limite le nombre de demande de connexions parallèles à 50 par client | +| limit_conn gulag 50 ##​**Syntaxe:​** ? | limite le nombre de demande de connexions parallèles à 50 par client |
 | include /​etc/​nginx/​mime.types;​ ##La liste des types MIME résolu par les extensions de fichiers. | Cette liste indique la nature des fichiers renvoyées par le serveur (ex: ceci est une page web http://​votrendd.tld/​hello.html ou ceci est une vidéo ogg ..  http://​votrendd.tld/​mavideo.ogg pour que Nginx "​comprenne"​ que c'est un format **.html** ou un format **.ogg** il lui faut un fichier mime.types). | | include /​etc/​nginx/​mime.types;​ ##La liste des types MIME résolu par les extensions de fichiers. | Cette liste indique la nature des fichiers renvoyées par le serveur (ex: ceci est une page web http://​votrendd.tld/​hello.html ou ceci est une vidéo ogg ..  http://​votrendd.tld/​mavideo.ogg pour que Nginx "​comprenne"​ que c'est un format **.html** ou un format **.ogg** il lui faut un fichier mime.types). |
  
Ligne 271: Ligne 231:
 Si vous voulez plus d'​informations sur la configuration du proxy, allez voir la section de la documentation officielle [[http://​wiki.nginx.org/​NginxHttpProxyModule|ici]]. Si vous voulez plus d'​informations sur la configuration du proxy, allez voir la section de la documentation officielle [[http://​wiki.nginx.org/​NginxHttpProxyModule|ici]].
  
-Contenu du fichier ​ +Contenu du fichier ​
  
 <​code>​ <​code>​
Ligne 313: Ligne 273:
     * les codes d'​erreurs seront interceptés et une page sera renvoyée     * les codes d'​erreurs seront interceptés et une page sera renvoyée
  
-Contenu du fichier trucbidule:+Contenu du fichiertrucbidule:
  
 <​code>​ <​code>​
Ligne 339: Ligne 299:
  
  
-location ~*^.+(swf|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav| +location ~*^.+(swf|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
-bmp|rtf|js)$ {+
     proxy_pass http://​192.168.0.100:​80;​     proxy_pass http://​192.168.0.100:​80;​
     proxy_cache cache;     proxy_cache cache;
Ligne 419: Ligne 378:
   * [[http://​www.howtoforge.com/​installing-php-5.3-nginx-and-php-fpm-on-ubuntu-debian|Installation de Nginx et PHP-FPM sur Debian/​Ubuntu]] via HowToForge   * [[http://​www.howtoforge.com/​installing-php-5.3-nginx-and-php-fpm-on-ubuntu-debian|Installation de Nginx et PHP-FPM sur Debian/​Ubuntu]] via HowToForge
   * [[http://​www.howtoforge.net/​installing-nginx-with-php-5.3-and-php-fpm-on-ubuntu-lucid-lynx-10.04|Installation de Nginx et PHP-FPM sur Ubuntu 10.04]]   * [[http://​www.howtoforge.net/​installing-nginx-with-php-5.3-and-php-fpm-on-ubuntu-lucid-lynx-10.04|Installation de Nginx et PHP-FPM sur Ubuntu 10.04]]
 +  * configurateur en ligne [[https://​www.digitalocean.com/​community/​tools/​nginx#?​]] (précédemment nginxconfig.io)
   * Nginx et PHP tournant en FastCGI : FIXME à compléter   * Nginx et PHP tournant en FastCGI : FIXME à compléter
 +  * connaître la version de nginx installé : <code bash>​nginx -V</​code>​
  
 ---- ----
  
 ===== Voir aussi ===== ===== Voir aussi =====
-  * [[http://nginx.net/|Site officiel de Nginx]] +  * [[https://nginx.org/|Site officiel de Nginx]]
-  * [[http://​wiki.nginx.org/​NginxFr|Wiki Nginx]] **(fr)**+
   * [[wp>​fr:​Nginx|Nginx sur Wikipédia]]   * [[wp>​fr:​Nginx|Nginx sur Wikipédia]]
-  * [[http://​www.it-connect.fr/​installation-du-serveur-web-nginx/​|Installation de Nginx sous Linux]] **(fr)** 
-  * [[http://​www.it-connect.fr/​installer-un-serveur-lemp-linux-enginex-mysql-php/​|Mise en place d'un serveur LEMP (Linux EngineX MySQL PHP) avec Nginx]] **(fr)** 
-  * [[http://​www.it-connect.fr/​gerer-le-log-level-sous-nginx/​|Gérer le log level sous Nginx]] **(fr)** 
  
 ---- ----
  
-//​Contributeur principaux : [[:​utilisateurs:​ButterflyOfFire]],​ [[:​utilisateurs:​lildadou]], [[utilisateurs:##​ubuntu-fr]], [[:​utilisateurs:​Miam Miam]] (Tutoriel Reverse Proxy Nginx), [[utilisateurs:​BeAvEr]] (Refonte de l'​intégralité du tutoriel).//​+//​Contributeur principaux : [[:​utilisateurs:​ButterflyOfFire]],​ [[:​utilisateurs:​lildadou]],​ [[:​utilisateurs:​Miam Miam]] (Tutoriel Reverse Proxy Nginx), [[utilisateurs:​BeAvEr]] (Refonte de l'​intégralité du tutoriel).//​
  • nginx.1439608117.txt.gz
  • Dernière modification: Le 15/08/2015, 05:08
  • par BeAvEr