Passage au combo Nginx, Php-fpm, Mariadb pour mon site personnel

L’été c’est souvent l’occasion de faire des travaux repoussés tout le restant de l’année. C’est le cas pour la machine virtuelle qui hébergeait ce site. Côté système d’exploitation j’étais encore en Debian 6 avec le traditionnel combo : Apache, PHP, MySQL. J’aurais pu me lancer dans une “simple” mise à jour de Debian. Elle aurait probablement était complexifiée par le fait que cette machine virtuelle héberge également la messagerie familiale ainsi que des logiciels comme StatusNet à la configuration pour le moins alambiqué.

Je suis donc parti sur du neuf avec une machine virtuelle vierge montée en Debian 7. Au passage je fais tourner tout cela sur un serveur dédié avec la solution de virtualisation Proxmox. Les machines virtuelles sont des containers OpenVZ.

Et tant qu’à faire autant changer un peu les fondements. Le passage d’Apache à Nginx, cela fait longtemps que je l’avais prévu pour ce site. Couplé à Php-fpm, le résultat est bien plus léger qu’Apache ou peut-être de ce que je suis capable de configurer avec Apache. J’utilise ce combo pour le site d’Open-DSI et de Solutions Informatique pour les  TPE depuis déjà pas mal de temps ainsi que des sites web d’autres personnes/associations que j’héberge ou dont je gère les sites (bénévolat quand tu nous tiens…).

Pour faire bonne mesure et me comporter en bon libriste que je ne suis pas, je me suis dit qu’il me fallait désormais abandonner MySQL. Me former sur PostgreSQL n’étant pas à l’ordre du jour, la solution évidente était de tenter le passage à MariaDB. On m’avait à plusieurs reprises vanté la simplicité de migration et la transparence d’utilisation par rapport à MySQL.

Pour Debian l’installation est on ne peut plus simple. Il suffit d’aller sur l’espace de téléchargement dédié aux dépôts et de suivre l’assistant qui se chargera de vous indiquer la marche à suivre. J’installe ensuite PhpMyadmin qui clairement n’y voit que du feu. Bref simple pour l’administrateur système bricoleur que je suis, pas de compilation ou autres manipulations exotiques. La suite de la migration se déroule de façon totalement transparente. Export côté Mysql et import côté MariaDB, pas le moindre souci, que du bonheur.

Pour faire bonne mesure, j’ai installé PHP APC. Son installation est suffisamment simple et rapide par rapport au gain apporté. Un constat que j’ai pu faire récemment sur un serveur à bout de souffle écrasé par les processus d’Apache. Le simple ajout d’APC a permis de réduire de façon drastique la charge.

J’ai du coup également remplacé l’extension WP-Supercache que j’utilisais jusqu’à présent par W3 Total Cache. Il permet notamment d’utiliser les fonctions d’APC pour gérer le cache de WordPress.

Une rapide comparaison des charges des deux machines virtuelles montre un avantage net pour le combo Nginx/Php-fpm/MariaDB avec une réduction de 30% de la charge CPU et  une réduction de l’empreinte mémoire du même niveau.

Au-delà de ce site, c’est aussi l’instance de Piwik et mon site (provisoirement ?) fermé de micro-bloging qui ont été migrés sur cette nouvelle architecture. Reste le thème de ce site que j’aimerais changer, mais pour l’instant, retour aux affaires comme on dit :-)  ! Si quelqu’un connaît un thème WordPress simple à mettre en œuvre permettant de conserver une page d’accueil similaire à l’actuelle (c’est à dire affichant les derniers articles par catégories) je suis preneur.