[Migration] Étape 3 : WordPress d’Apache vers Nginx+PHP7

Installation de ISPConfig avec Nginx + PHP 7

ESXi fraîchement installé, montage d’une VM Debian 9 propre et installation d’un serveur web à base de Nginx

Les sites de Météo06 étaient jusqu’à maintenant servi par un serveur web Apache aidé de PHP-FPM avec PHP 5. Une installation des plus classique, mais clairement pas optimisé, surtout quand les ressources serveurs ne sont pas illimitées.

Cela fait également un moment que j’utilise ISPConfig, qui n’est clairement pas indispensable, mais il s’avère très pratique pour le déploiement de sous-domaine et de leurs certificats SSL Let’s Encrypt par exemple.

J’ai donc de nouveau choisi de baser mon installation sur ISPConfig (ici, en version 3.1.7). Debian Stretch étant relativement jeune, encore aucun tuto tout en un d’installation ISPConfig + Nginx + MySQL + PHP7.

Je me suis donc basé sur 3 tutos déjà existants :

En « mixant » ces trois tutos on arrive à monter un serveur web Nging + PHP7 piloté par ISPConfig.

Ajustements pour WordPress

Une des particularités de WordPress est d’utiliser la réécriture d’URL (ou URL Rewriting). Avec Apache ça se fait en activant un module, avec Nginx il faut ajouter ceci à la configuration du Vhost ou dans les directives Nginx des options du domaine sur l’interface ISPConfig :

vhost.conf
location / {
try_files $uri $uri/ /index.php?$args;
}
# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
}

 

Rien de bien compliqué donc, et voilà que meteo06.fr tourne sous Nginx ! 🙂 Et on sent clairement la différence, sur le panel d’administration notamment (WP Rocket (un système de cache WordPress) était en place sur le la partie publique du site sous Apache, désactivé au passage sous Nginx, et on ne sent pas la différence !)

Donc, sans mesure scientifique, on a une réelle amélioration ! à relativiser avec les performances du serveur en nettes hausses également…