Ceci est une ancienne révision du document !



Nginx : serveur Web asynchrone

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 proxy inverse 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.

Deux dépôts propose les installateurs du serveur nginx: le dépôt stable et le dépôt development. Le dépôts stable est fourni par défaut ; les versions les plus récentes n'y sont pas proposées mais leur stabilité est éprouvé. Le dépôt de développement propose des versions plus récentes. Elles sont loin d'êtres instables mais les tests effectués sont moins poussés et doivent donc être évités pour des usages de production. Vous devrez ajouter ce dépôt (ppa:nginx/development) si vous souhaitez utiliser ces versions.

Vous pouvez aussi choisir le packaging de votre nginx. En effet, nginx est proposé en 3 packagings offrants des lots de fonctionnalités différents. Dans le doute, choisissez le paquet nginx.

nginx-extra 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
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
Substitution, WebDAV, XSLT, Addition, Debug, GeoIP, Image Filter, Real IP X X
HTTP Sub X
Embedded Perl, FLV, MP4, Random Index, Secure Link X
Mail Core, IMAP, POP3, SMTP, SSL X X
Echo X X X
Upstream Fair Queue, Auth PAM, DAV Ext X X
Embedded Lua, HttpHeadersMore, http push, Nginx Development Kit, Upload module, Upload Progress, Chunkin X

Une fois votre choix fait, vous devez installer le paquet qui vous convient.

Configuration de Nginx

La configuration de nginx est modularisée en plusieurs fichiers de configuration 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.
  • 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).
  • site-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.
  • site-enabled: Doit contenir des liens symboliques vers les fichiers de site-available que vous souhaitez activer.

Nginx et les hôtes virtuels

Nginx inclus un exemple de configuration d'un hôte virtuel1) que vous pouvez trouver dans « /etc/nginx/sites-available/default ».

Si vous souhaitez le modifier, ouvrez (avec les droits administrateur) le fichier /etc/nginx/sites-available/default.

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

Puis, modifier la configuration de votre nom de domaine mondomaine.tld en modifiant le fichier /etc/nginx/sites-available/mondomaine.tld.

Le sous-répertoire « sites-available » stocke les vhosts mais pour que Nginx les prenne en considération, vous devez les activer en créant un lien symbolique dans « /etc/nginx/sites-enabled ». Par exemple :

sudo ln -s /etc/nginx/sites-available/mondomaine.tld /etc/nginx/sites-enabled/mondomaine.tld

Il ne reste qu'à redémarrer Nginx :

sudo /etc/init.d/nginx restart

Configuration serveur proxy inverse et cache Web

Autres configurations de Nginx


1)
aussi appelé virtual host ou vhost
  • nginx.1355176295.txt.gz
  • Dernière modification: Le 10/12/2012, 22:51
  • par lildadou