Mysql
 sql >> Base de données >  >> RDS >> Mysql

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 gracieusement en revenant à PHP 5.5 en cas d'échec.

Dans cet article, nous allons installer HHVM sur un serveur Ubuntu exécutant la dernière version LTS, 14.04. Cela peut être accompli soit en utilisant un programme de visualisation comme VirtualBox (gratuit) avec un fichier ISO Ubuntu téléchargé, soit en utilisant un service d'hébergement cloud. DigitalOcean propose des serveurs cloud pour 5 $ par mois, ce que j'utiliserai 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

Installer MySQL

Vous devez maintenant installer MySQL, la base de données qui alimente WordPress.

$ sudo apt-get install mysql-server

Vous devez définir un mot de passe root MySQL pour des raisons de sécurité évidentes. Si vous êtes très soucieux de la sécurité, 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

Installez maintenant 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, ainsi que quelques dépendances.

wget -O - https://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-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/main/r/rtmpdump/librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb && sudo dpkg -i librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb && rm librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb
sudo apt-get install hhvm

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

La prochaine chose que nous devons faire est de 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 pour des raisons de simplicité), nous allons simplement écraser le contenu de /etc/nginx/sites-available/default avec un simple fichier ci-dessous :

Remarque :vous avez besoin des autorisations root pour modifier ce fichier.

server {
  listen 80;
      server_name localhost; # or replace localhost with domain name
  	include hhvm.conf;
  
  	access_log   /var/log/nginx/access.log;
	error_log    /var/log/nginx/error.log;
	
	root /var/www;
	index index.php;
	
	location / {
		try_files $uri $uri/ /index.php?$args; 
  	}
}

Nous pouvons maintenant 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 les groupes :$ sudo chown -R www-data.www-data /var/www .

Configurer la base de données WordPress

Connectez-vous à MySQL $ mysql -u root -p . Exécutez maintenant les commandes suivantes :

CREATE DATABASE wordpress;
CREATE USER wordpress@localhost;
GRANT ALL PRIVILEGES ON wordpress.* to username@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quit

Vous pouvez maintenant vous rendre sur l'adresse IP de votre serveur et suivre la fameuse installation en cinq minutes.