Utilizzando HHVM con WordPress

Negli ultimi mesi HHVM ha preso d'assalto la community di PHP. Da quando è stato rilasciato WordPress 3.9, HHVM è ora compatibile al 100% con WordPress.

Sfortunatamente, HHVM non è ancora pronto per l'uso in produzione in ambienti self-hosted. Secondo la mia esperienza, HHVM si blocca circa una volta al giorno, il che rende non fattibile per un sito dove l'alta disponibilità è importante. Di recente, WP Engine ha rilasciato il progetto Mercury che consente senza problemi a HHVM di fallire con successo ricadendo su PHP 5.5 quando fallisce.

In questo articolo, installeremo HHVM su un server Ubuntu che esegue l'ultima versione LTS, 14.04. Ciò può essere ottenuto utilizzando un programma di visualizzazione come VirtualBox (gratuito) con un file ISO di Ubuntu scaricato o utilizzando un servizio di hosting cloud. DigitalOcean offre server cloud a $ 5 al mese, che è quello che userò in questo tutorial.

La prima cosa che dovresti fare è aggiornare tutti i pacchetti e le dipendenze:

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

Installa MySQL

Ora è necessario installare MySQL, il database che alimenta WordPress.

$ sudo apt-get install mysql-server

È necessario impostare una password MySQL di root per ovvi motivi di sicurezza. Se sei più attento alla sicurezza, dovresti anche correre $ mysql_secure_installation e seguire i passaggi necessari per bloccare il server.

Installa Nginx

La prossima cosa che devi fare è impostare un server web. Preferisco usare Nginx perché è leggero, versatile e facile da configurare.

$ sudo apt-get install nginx

Installa HHVM

Ora installa HHVM. Non è così semplice come installare altri pacchetti perché non è disponibile nel repository di Ubuntu. Invece dobbiamo scaricarlo da HHVM stesso, insieme ad alcune dipendenze.

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- 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

Ora che abbiamo installato HHVM, dobbiamo eseguire uno script di installazione che installerà il modulo HHVM per Nginx.

sudo /usr/share/hhvm/install_fastcgi.sh

Ora riavvia HHVM e Nginx.

 sudo /etc/init.d/hhvm restart

sudo /etc/init.d/nginx restart

Impostare il sito Web

La prossima cosa che dobbiamo fare è impostare un host virtuale per il nostro sito web. Generalmente si crea un nuovo host virtuale per ogni sito Web su un server, ma dal momento che stiamo testando (e per semplicità), sovrascriviamo il contenuto di / Etc / nginx / sites-available / default con un semplice file qui sotto:

Nota: è necessario disporre dei permessi di root per modificare questo file.

server ascolta 80; nome_server localhost; # o sostituire localhost con il nome di dominio include hhvm.conf; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; root / var / www; indice index.php; posizione / try_files $ uri $ uri / /index.php?$args;  

Ora possiamo configurare WordPress:

  1. Ricarica la tua configurazione di nginx aggiornata: $ sudo service nginx reload.
  2. Ora crea una directory root web: $ sudo mkdir / var / www.
  3. Scarica WordPress:  $ Sudo wget http://wordpress.org/latest.tar.gz / Var / www /.
  4. Estrai WordPress: $ sudo tar xvf /var/www/latest.tar.gz.
  5. Spostare i file WordPress nella root Web: $ sudo mv / var / www / wordpress / * / var / www /.
  6. Pulire: $ sudo rm -rf / var / www / wordpress /var/www/latest.tar.gz.
  7. Imposta le autorizzazioni: $ sudo chmod -R 775 / var / www.
  8. Imposta gruppi: $ sudo chown -R www-data.www-data / var / www.

Impostare il database di WordPress

Accedi a MySQL $ mysql -u root -p. Ora esegui i seguenti comandi:

CREA DATABASE wordpress; CREA UTENTE wordpress @ localhost; CONCEDERE TUTTI I PRIVILEGI SU wordpress. * To username @ localhost IDENTIFICATO DA 'password'; FLUSH PRIVILEGES; smettere 

Ora puoi andare all'indirizzo IP del tuo server e seguire la famosa installazione di cinque minuti. 

Conclusione

Congratulazioni! Ora hai il tuo sito WordPress in esecuzione su una tecnologia all'avanguardia. Ecco le mie velocità con WordPress di default usando HHVM, seguendo le istruzioni sopra riportate:

Quanto è veloce il caricamento del tuo sito?