Dans ce deuxième épisode de la série dédiée à l'administration linux et l'optimisation des performances web, je vous explique comment installer nginx et le configurer avec php en utilisant les paquets dotdeb.
Le but de cette vidéo n'est pas de vous apprendre tous les tips pour configurer et optimiser Nginx mais plutôt d'obtenir une méthode rapide d'installation par défaut. Je reviendrai plus tard sur les modifications à apporter à cette configuration pour améliorer un temps soit peu les performances.
Pourquoi Nginx ?
Une fois n'est pas coutume j'ai cédé aux sirènes de la mode (rassurez-vous, je ne porte pas encore de baskets à talons compensés). Grand adorateur et défenseur de lighttpd, je trouve depuis un certain temps que le projet commence à s’essouffler et son support sur Debian est plus que limité (cycle de release, paquets anciens ..), c'est pour cette raison que j'ai commencé à m’intéresser à nginx.
Concernant les performances, même si je n'ai pas encore réalisé de benchmark, ce que j'ai pu lire ici ou ailleurs, les différences sont maigres et installer l'un ou l'autre en remplacement d'Apache fera toujours une énorme différence.
Un autre point m'a séduit sur nginx, même si ce n'est pas directement lié, c'est la délégation de la gestion des process php à php-fpm. Je trouve l'idée logique et je suis convaincu que la segmentation des composants d'une architecture web représente une bonne démarche. L'isolation des différents rôles permet d'identifier les points bloquants et facilite la mise à l'échelle de l'architecture.
La dernière chose qui m'a fait tourner ma veste, c'est l'utilisation de varnish en front. Avec ce reverse proxy en amont du serveur http, il m'a même traversé l'esprit de repasser à apache, pour vous dire ^^.
L'installation de varnish soulage énormément les frontaux web. Une fois le serveur web soulagé, d'autres arguments que la performance pure viennent peser dans la balance lors du choix d'un serveur http. La facilité d'installation, la stabilité, la maintenance (mise à jour) en sont quelques uns.
Voilà, maintenant que les justifications métaphysiques de mon choix sont couchées sur papier (ou sur cristaux liquides plutôt), il faudra que je consolide tout ça via des benchmarks.
Et vous alors, Apache, Nginx ou Lighty ? ... Je viens de découvrir Cherokee au passage ...