Installer HHVM (avec les sockets UNIX) sur Debian 7

1/52/53/54/55/5 (2 votes, moyenne: 3,00 sur 5)
Loading...
I

Attention, cet article a plus d'une année d'ancienneté. Il est possible que les informations présentées ne soient plus à jour, spécialement dans le cadre d'un article technique.


Bonjour à tous,

 

Suite à la lecture de l’article de l’ami @Seboss666 j’ai eu l’idée d’installer HHVM pour le blog tout en gardant mes différents sockets PHP-FPM à coter pour les autres sites.

Je parlerais de ce mix un peu custom dans un autre article, aujourd’hui nous allons juste voir l’installation de HHVM en mode daemon avec l’utilisation des sockets unix. Rien que ça.

Si vous ne savez pas ce qu’est HHVM allez donc faire un tour à la fin de l’article de Seboss avant.

 

Téléchargement et installation de HHVM :

Pour télécharger et installer HHVM lancez les commandes suivantes :

apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
echo deb http://dl.hhvm.com/debian wheezy main | tee /etc/apt/sources.list.d/hhvm.list
apt-get update && apt-get install hhvm -y && update-rc.d hhvm defaults

 

Tout ce bousin vous lancera aussi HHVM au démarrage de la machine tant qu’à faire 😉

 

Configuration de HHVM :

La partie intéressante commence.

Avant tout nous allons commencer par ouvrir le fichier de configuration de HHVM :

nano /etc/hhvm/server.ini

 

Maintenant éditez votre fichier pour qu’il ressemble à celui-ci :

; php options

pid = /var/run/hhvm/pid

; hhvm specific

; hhvm.server.port = 9000
hhvm.server.file_socket = /var/run/hhvm/server.sock
hhvm.server.type = fastcgi
hhvm.server.default_document = index.php
hhvm.log.use_log_file = true
hhvm.log.file = /var/log/hhvm/error.log
hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc

 

La ligne qui nous permet de tourner avec les sockets Unix c’est celle-ci :

hhvm.server.file_socket = /var/run/hhvm/server.sock

 

Enregistrez votre fichier avec un petit coup de Ctrl+O et redémarrez le service :

service HHVM restart

 

Configuration sur Nginx :

Ouvrez votre virtualhost Nginx et changez le chemin du socket unix :

 location @php {
 try_files $uri =404;
 include /etc/nginx/fastcgi_params;
 #fastcgi_pass unix:/var/lib/php5-fpm/web.sock;
 fastcgi_pass unix:/var/run/hhvm/server.sock;
 fastcgi_index index.php;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 fastcgi_intercept_errors on;
 }

Test de fonctionnement :

Créez un petit fichier phpinfo à la racine de votre site :

<?php
phpinfo();
?>

 

La sortie devrait être très épurée :

hhvm-test

 

Problème de permissions :

Il est possible que vous ayez quelques problèmes de permissions comme ce que j’ai pu rencontrer avec l’envoi d’images sur mon WordPress.

Si c’est le cas, faites les chmods suivants sur le dossier de votre site web :

chown -R root:www-data /var/www/ton-site
chmod g+w -R /var/www/ton-site

A propos de l'auteur

Nicolas Simond

Ingénieur Systèmes et Réseaux et guitariste hard rock et metal à mes heures perdues.
Je suis le créateur et l'unique rédacteur d'Abyss Project, c'est ici que je note la plupart de mes procédures et quelques divagations.

Si vous l'article vous a aidé, pensez à me payer un café :)

Subscribe
Notify of
guest

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

2 Commentaires
Plus récents
Plus anciens Populaires
Inline Feedbacks
View all comments
Etienne
9 années plus tôt

lors de l’apt-get install hhvm
A tout les coup j’ai droit à

Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
Aucune version du paquet hhvm n’est disponible, mais il existe dans la base
de données. Cela signifie en général que le paquet est manquant, qu’il est devenu obsolète
ou qu’il n’est disponible que sur une autre source

E: Le paquet « hhvm » n’a pas de version susceptible d’être installée

Est-ce que tu saurais à quoi cela est du ?

vito
vito
Reply to  Etienne
8 années plus tôt

même problème 🙁