L’aventure Kimsufi – intermède 3 – Installation de nginx (serveur web)

J’ai décidé au changement de serveur de migrer d’une solution lighttpd à une solution nginx. En effet, quelques tests que j’avais fait ont montrés que etherpad n’était pas compatible avec lighttpd. La configuration est légèrement différente, mais le principe reste le même. On utilise aussi fastcgi et un serveur php-fpm pour servir du php.

Il faut savoir que nginx est réputé aussi léger que lighttpd. Il semble cependant qu’il soit beaucoup plus utilisé sur des serveurs de production. Je ne sais pas s’il y a une raison particulière. La non compatibilité qui me pousse à changer, en effet est quelque chose de réellement spécifique.

Installation de nginx

Tu peux facilement deviner toi-même ce qui vient ici ! Allez, je t’aide !

Configuration de nginx

La configuratin de nginx se fait au moyen du fichier /etc/nginx/nginx.conf . Il utilise une configuration imbriquant plusieurs blocs, le plus haut qui nous intéresse étant http , qui défini l’ensemble du serveur web. Dans ce bloc, il va falloir que tu inclues des blocs  server  qui contiendront entre autre l’adresse de ton serveur et un ou plusieurs blocs  location qui permettent de définir en fonction de l’adresse comment il est souhaitable de délivrer la page.

Mise en place des dossiers sites-available et sites-enabled

Nginx est tout à fait capable de gérer l’inclusion de fichiers de paramètres. C’est pourquoi j’ai décidé d’adopter un modèle qui est en place sur les implémentations Debian du serveur, à savoir un dossier  sites-available  dans lequel créer les fichiers de configuration et un dossier  sites-enabled  dans lequel lier les éléments du dossier précédent pour qu’ils soient actifs.

Pour créer les répertoires :

Pour activer un fichier de configuration pour un site :

Pour désactiver le fichier de configuration :

De cette façon, les fichiers de configuration créés sont conservés et peuvent-être ou réactivés, ou réutilisés.

Il faut maintenant que tu inclues les éléments du dossier sites-enabled dans la configuration générale. Ce qui donne un fichier /etc/nginx/nginx.conf semblable à :

Et voici un exemple simple de fichier site.conf :

Absence de fichier .htaccess

Nginx, comme lighttpd, n’inclus pas les fichiers de configuration spécifiques .htaccess à la façon d’apache. Il va falloir les traduire dans un langage compréhensible et les ajouter au fichier de configuration du site. Par exemple pour inclure un fichier .htpasswd on utilisera les commandes sur la  location  à protéger :

Un outil très utile existe et permets de convertir des commandes de configuration venant des .htaccess pour nginx. Il est disponible à l’adresse http://winginx.com/htaccess

C’est tout pour aujourd’hui. Demain, je te raconterai comment rajouter le php pour nginx !

Florck

Je suis Ingénieur en Technologies de l'Information, consultant en systèmes (GNU/Linux) et bases de données (Oracle). En recherche de contrôle sur mes informations personnelles : "La route est longue mais la voie est libre !"

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *