HHVM, c’est une solution tierce pour booster de façon radicale vos sites web. Nombre de sites web utilisent des scripts PHP, HHVM est capable de les exécuter le plus rapidement possible.
Le but de cet article n’est pas la présentation de HHVM mais de sa mise en place sur un serveur web nginx, sur un Debian 8.2. Pour avoir des informations complémentaires sur ce système, je vous conseille très fortement de visiter le site officiel du projet : http://hhvm.com/
En quelques mots, il s’agit d’un moteur d’exécution de scripts produit par des développeurs de Facebook. C’est ce même moteur qui propulse Facebook et comme vous le voyez, l’exécution est très rapide, même dans les pages comportant de nombreux scripts plus ou moins lourds.
Information importante
Avec l’installation d’HHVM, les paquets « php5 » ou encore « php5-fpm » sont rendus totalement inutiles (dans la situation de l’article). Vous pouvez donc les désinstaller. Vous pouvez toutefois garder les paquets comme « php5-gd », « php5-mysql » ou encore « php5-mysql » pour les extensions complémentaires.
Téléchargement et installation de HHVM
Avant toute manipulation, il vous faut modifier les sources de paquets de votre serveur Linux pour prendre en compte les dépôts officiels de HHVM.
echo deb http://dl.hhvm.com/debian jessie main | tee /etc/apt/sources.list.d/hhvm.list
Il faut aussi récupérer la clé publique du dépôt et l’ajouter dans le trousseau local via cette commande :
wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | apt-key add -
A partir de ce moment, vous pouvez télécharger et installer HHVM sur votre serveur !
J’utilise le gestionnaire de paquets « apt ». Mettez à jour la liste de vos dépôts auparavant pour prendre en compte les modifications récentes.
apt update && apt install hhvm
L’installation et la compilation se font assez rapidement ; tout dépend de la puissance de votre serveur.
En moyenne, l’installation ne dure pas plus de quelques dizaines de secondes. Même l’installation est aussi rapide que « l’exploitation » du moteur… !
L’installation terminée, il faut lancer une dernière commande pour pré-configurer HHVM en fonction de votre serveur web. Et cette fois, c’est maintenant possible d’exploiter tout le potentiel de ce moteur open-source !
cd /usr/share/hhvm/ && ./install_fastcgi.sh
Exploitation d’HHVM sur le serveur nginx
Puisque le paquet est installé, il faut maintenant configurer un fichier de configuration pour le serveur web nginx.
Selon la configuration de votre serveur web, vous pouvez placer le script ci-dessous directement dans une configuration d’un vhost. Toutefois, pour éviter la re-saisie à chaque fois que vous créez un vhost, il est préférable de créer un fichier de configuration unique pour HHVM.
J’ai créé ce fichier à la racine du dossier d’nginx, c’est-à-dire dans /etc/nginx/.
touch /etc/nginx/hhvm.conf
Dans ce fichier, vous devez saisir en bloc le code ci-dessous :
location ~ \.(hh|php)$ {
fastcgi_keep_conn on;
fastcgi_pass unix:/var/run/hhvm/server.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_sc$
include fastcgi_params;
}
Quelques explications
Tous les scripts PHP vont « passer dans la moulinette » d’HHVM. Pour se faire, le socket dans le dossier /var/run/ sera utilisé.
Le reste du bout de code correspond à une configuration basique pour nginx.
Dans le fichier de configuration de votre vhost sur nginx, vous devrez inclure la configuration de ce nouveau fichier « hhvm.conf ». Dans la balise « server { } », saisissez à l’endroit que vous souhaitez cette ligne :
include /etc/nginx/hhvm.conf;
Naturellement, vous devrez changer le chemin et le nom du fichier de configuration si vous n’avez pas suivi le tutoriel à la lettre.
Lorsque votre fichier de configuration est saisi, vous devez redémarrer le service nginx et démarrer HHVM.
systemctl enable hhvm && systemctl start hhmv.service && systemctl restart nginx
N’oubliez pas non plus de faire un « systemctl enable » pour le service de HHVM – le moteur sera automatiquement lancé au démarrage de votre serveur.
Vous avez dès à présent un serveur web dopé à la sauce HHVM (made in Facebook) pour propulser tous vos CMS et autres projets web à une vitesse extraordinaire !
Cet article [Debian 8] Mise en place de HHVM pour Nginx est apparu en premier sur ComputerZ Solutions.