PROJET AUTOBLOG


Actual-IT.info

Archivé

Site original : Actual-IT.info

⇐ retour index

[Debian 8] Mise en place de HHVM pour Nginx

mercredi 28 octobre 2015 à 10:00

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.