Installation automatique de NGinx, PHP-FPM, MemCached sous Debian
Date: 27/01/2011 | Catégories: Open-source,Planet-libre,Reseau,Web | Tags: debian,lenny,memcached,nginx,php-fpm
Au début du mois nous avons vu ensemble l'installation d'un serveur NGinx sous Ubuntu. Sous Debian, il faut mettre un peu plus les mains dans le cambouis, en effet il est parfois utile de partir des sources plutôt que des dépôts officiels (notamment au niveau de la présence ou non d'un module).
J'ai donc développé un petit script shell pour automatiser l'installation (ou la mise à jour) d'un serveur Web rapide, léger et performant sous une Debian (Squeeze ou Lenny).
Ce script va effectuer les choses suivantes:
- installer la dernière version stable de NGinx (voir le numéro de version ici).
- mettre en place un script de démarrage automatique de NGinx dans /etc/init.d/nginx
- installer le module PHP FastCGI FPM
- installation des modules Zlib, SSL, MySQL, Pear, XCache, GD, Curl... (liste configurable dans le script)
- installer de MemCached
- configurer NGinx pour le support des fichiers statiques et de PHP
- configurer un site Web par défaut dans /var/www
Il est bien sûr possible d'adapter ce script à vos besoins et de l'utiliser comme bon vous semble. Si vous rencontrez des erreurs ou que vous avez en tête des améliorations possibles, merci de laisser un commentaire en bas de ce billet.
Récupération du script
Le script est disponible dans mon GitHub:
Vous pouvez également faire ces actions en ligne de commande dans un terminal:
wget https://raw.github.com/nicolargo/debianpostinstall/master/nginxautoinstall.sh
Il faut ensuite le rendre exécutable:
chmod a+x ./nginxautoinstall.sh
Lancement du script
Il faut lancer le script en root (droit d'administration):
su - -c "$PWD/nginxautoinstall.sh"
Si tout se passe correctement, le script devrait afficher:
Validation et test de performances
Votre serveur est maintenant opérationnel, il vous reste à mettre vos page HTML et scripts PHP dans le répertoire /var/www et tester le tout en entrant l'URL suivante dans un navigateur Web: http://@devotreserveur/.
Vous pouvez également tester les performances brutes de votre serveur en utilisant HTTPerf (disponible dans les dépôts Debian). Sur mon serveur de test (VPS Gandi 1 part), j'obtiens les perfos suivantes:
httperf --client=0/1 --server=localhost --port=80 --uri=/ --send-buffer=4096 --recv-buffer=16384 --num-conns=5000 --num-calls=10
Request rate: 6833.4 req/s (0.1 ms/req)
Conclusion
Avec NGinx, on obtient rapidement de très bonnes performances et le couple PHP-FPM, MemCached permet d'avoir une bonne base pour héberger, par exemple, votre blog WordPress (lire l'article sur le sujet dans ce blog).
Je suis bien sur preneur de tous commentaires/remarques sur le script.