Utiliser HHVM avec WordPress

Au cours des derniers mois, HHVM a pris d'assaut la communauté PHP. Depuis la sortie de WordPress 3.9, HHVM est désormais 100% compatible avec WordPress..

Malheureusement, HHVM n'est pas tout à fait prêt à être utilisé en production dans des environnements auto-hébergés. D'après mon expérience, HHVM se bloque environ une fois par jour, ce qui le rend non viable pour un site où la haute disponibilité est importante. Récemment, WP Engine a publié le projet Mercury qui permet à HHVM d’échouer en douceur en retombant en PHP 5.5 en cas d’échec..

Dans cet article, nous allons installer HHVM sur un serveur Ubuntu exécutant la dernière version de LTS, 14.04. Cela peut être accompli en utilisant un programme de visualisation tel que VirtualBox (gratuit) avec un fichier ISO téléchargé Ubuntu, ou en utilisant un service d'hébergement en nuage. DigitalOcean propose des serveurs cloud à 5 $ par mois, ce que je vais utiliser dans ce tutoriel..

La première chose à faire est de mettre à jour tous les packages et dépendances:

$ sudo apt-get update && sudo apt-get upgrade

Installez MySQL

Maintenant, vous devez installer MySQL, la base de données qui alimente WordPress..

$ sudo apt-get install mysql-server

Vous devez définir un mot de passe MySQL racine pour des raisons de sécurité évidentes. Si vous êtes conscient de la sécurité supplémentaire, vous devez également exécuter $ mysql_secure_installation et suivez les étapes nécessaires pour verrouiller votre serveur.

Installer Nginx

La prochaine chose que vous devez faire est de configurer un serveur Web. Je préfère utiliser Nginx car il est léger, polyvalent et facile à configurer..

$ sudo apt-get install nginx

Installer HHVM

Maintenant, installez HHVM. Ce n’est pas aussi simple que d’installer d’autres packages car il n’est pas disponible sur le référentiel Ubuntu. Au lieu de cela, nous devons le télécharger depuis HHVM lui-même, avec quelques dépendances..

wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add - echo deb http://dl.hhvm.com/ubuntu trusty main | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get update cd / tmp && wget http://security.ubuntu.com/ubuntu/pool/main/libm/libmemcached/libmemcached10_1.0.8.0- 1ubuntu2_amd64.de… sudo dpkg -i libmemcached10_1.0.8-1ubuntu2_amd64.deb && rm libmemcached10_1.0.8-1ubuntu2_amd64.deb sudo apt-get install -y libgnutls26 wget http://mirrors.kernel.org/ubuntu/pool/ -

Maintenant que nous avons installé HHVM, nous devons exécuter un script d’installation qui installera le module HHVM pour Nginx..

sudo /usr/share/hhvm/install_fastcgi.sh

Maintenant redémarrez HHVM et Nginx.

 sudo /etc/init.d/hhvm restart

sudo /etc/init.d/nginx restart

Configurer le site web

Nous devons ensuite configurer un hôte virtuel pour notre site Web. En règle générale, vous créez un nouvel hôte virtuel pour chaque site Web sur un serveur, mais puisque nous testons (et par souci de simplicité), nous allons simplement écraser le contenu de / etc / nginx / sites-available / default avec un simple fichier ci-dessous:

Remarque: vous devez avoir les droits root pour modifier ce fichier..

serveur listen 80; nom_serveur localhost; # ou remplacez localhost par le nom de domaine include hhvm.conf; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; root / var / www; index index.php; emplacement / try_files $ uri $ uri / /index.php?$args;  

Maintenant nous pouvons configurer WordPress:

  1. Rechargez votre configuration nginx mise à jour: $ sudo service nginx reload.
  2. Créez maintenant un répertoire racine Web: $ sudo mkdir / var / www.
  3. Télécharger WordPress:  $ Sudo wget http://wordpress.org/latest.tar.gz / var / www /.
  4. Extraire WordPress: $ sudo tar xvf /var/www/latest.tar.gz.
  5. Déplacez les fichiers WordPress vers la racine Web: $ sudo mv / var / www / wordpress / * / var / www /.
  6. Nettoyer: $ sudo rm -rf / var / www / wordpress /var/www/latest.tar.gz.
  7. Définir les autorisations: $ sudo chmod -R 775 / var / www.
  8. Définir des groupes: $ sudo chown -R www-data.www-data / var / www.

Configurer la base de données WordPress

Connectez-vous à MySQL $ mysql -u root -p. Maintenant, lancez les commandes suivantes:

CREATE DATABASE wordpress; CREATE USER wordpress @ localhost; Accordez tous les privilèges sur wordpress. * À nomutilisateur @ localhost IDENTIFIÉ PAR 'mot de passe'; FLUSH PRIVILEGES; quitter 

Maintenant, vous pouvez aller à l'adresse IP de votre serveur et suivre la célèbre installation de cinq minutes. 

Conclusion

Toutes nos félicitations! Vous avez maintenant votre propre site WordPress fonctionnant sur une technologie de pointe. Voici mes vitesses d'exécution de WordPress par défaut à l'aide de HHVM, en suivant les instructions ci-dessus:

Quelle est la vitesse de chargement de votre site?