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… :-)

Ceci est une ancienne révision du document !


Nginx : Guide du débutant

Ce guide décrit :

  • comment démarrer et arrêter nginx, et recharger sa configuration,
  • la structure du fichier de configuration
  • et comment :
    • configurer nginx pour servir du contenu statique,
    • configurer nginx comme serveur proxy,
    • le connecter avec une application FastCGI.

nginx a un processus maître et plusieurs processus de travail. Le processus maître lit et évalue la configuration et gère les processus de travail qui font le traitement réel des demandes. Le nombre de processus de travail, défini dans le fichier de configuration, peut être fixé pour une configuration donnée ou automatiquement ajusté au nombre de cœurs de processeur disponibles.

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émarrage, arrêt et rechargement de la configuration

Pour démarrer nginx, lancez le fichier exécutable.

Une fois démarré, nginx peut être contrôlé en lançant l'exécutable avec le paramètre -s. Utilisez la syntaxe suivante :

...@...:~$ nginx -s signal

où le signal peut être :

stop
arrêt rapide
quit
arrêt en douceur
reload
rechargement du fichier de configuration
reopen
réouverture des fichiers de log

Par exemple, pour arrêter les processus nginx en attendant que les processus de travail aient fini de servir les demandes en cours :

...@...:~$ nginx -s quit

Cette commande doit être exécutée par l'utilisateur qui a lancé nginx.

Les modifications du fichier de configuration ne seront appliquées qu'après la commande

...@...:~$ nginx -s reload

ou un redémarrage.

Pour obtenir la liste de tous les processus nginx en cours d'exécution :

...@...:~$ ps -ax | grep nginx

Structure du fichier de configuration

Les modules de Nginx sont contrôlés par des directives du fichier de configuration.

Les directives sont :

  • des directives simples, composées du nom et des paramètres séparés par des espaces et terminées par un point-virgule ( ;).
  • et des directives de bloc, de même structure qu'une directive simple, mais au lieu du point-virgule, se terminant par un ensemble d'instructions supplémentaires entourées d'accolades ({ et }).

Une directive de bloc peut contenir d'autres directives entre accolades, elle est alors appelée contexte (exemples : events, http, server, et location).

Les directives placées dans le fichier de configuration en dehors de tout contexte sont considérées comme étant dans le contexte principal.

Les directives events et http résident dans le contexte principal, le server dans http, et location dans server.

Le reste d'une ligne après un # est un commentaire.

Servir du contenu statique

Mise en place d'un proxy simple

Mise en place du proxy FastCGI

Voir aussi