Magazine Internet

Installation automatique de NGinx, PHP-FPM, MemCached sous Debian

Publié le 27 janvier 2011 par Nicolargo

Installation automatique de NGinx, PHP-FPM, MemCached sous DebianAu 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 les dépôts officiels ne contiennent que la vieille version 0.6.

J'ai donc développé un petit script shell pour automatiser l'installation d'un serveur Web rapide, léger et performant sous une Debian Lenny. Ce script va effectuer les choses suivantes:

  • installer la version stable 0.8.54 de NGinx
  • mettre en place un script de démarrage automatique de NGinx dans /etc/init.d
  • installer le module PHP FastCGI FPM
  • installation des modules Zlib, SSL, MySQL, Pear, XCache, GD, Curl
  • 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 ici:

Installation automatique de NGinx, PHP-FPM, MemCached sous Debian NGinxAutoInstall.sh

Vous pouvez également faire ces actions en ligne de commande dans un terminal:

wget http://svn.nicolargo.com/debianpostinstall/trunk/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 "./nginxautoinstall.sh"

A la fin du script, vous devriez voir le message suivant:

--------------------------------------

NGinx + PHP5-FPM installation finished

--------------------------------------

NGinx configuration folder: /etc/nginx

NGinx default site configuration: /etc/nginx/sites-enabled/default-site

NGinx default HTML root: /var/www

If you use IpTables add the following rules:

iptables -A INPUT -i lo -s localhost -d localhost -j ACCEPT

iptables -A OUTPUT -o lo -s localhost -d localhost -j ACCEPT

iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -p tcp --dport http -j ACCEPT

--------------------------------------

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.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Nicolargo 417 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Magazine