Usando HHVM Con WordPress

En los últimos meses, HHVM ha tomado por asalto a la comunidad de PHP. Desde que se lanzó WordPress 3.9, HHVM ahora es 100% compatible con WordPress.

Desafortunadamente, HHVM no está del todo listo para su uso en producción en entornos autoalojados. En mi experiencia, HHVM se bloquea una vez al día, lo que hace que no sea viable para un sitio donde la alta disponibilidad es importante. Recientemente, WP Engine ha lanzado el proyecto Mercury que permite a HHVM fallar sin problemas al recurrir a PHP 5.5 cuando falla.

En este artículo, vamos a instalar HHVM en un servidor Ubuntu que ejecute la última versión de LTS, 14.04. Esto se puede lograr mediante el uso de un programa de visualización como VirtualBox (gratuito) con un archivo ISO descargado de Ubuntu, o mediante el uso de un servicio de alojamiento en la nube. DigitalOcean ofrece servidores en la nube por $ 5 al mes, que es lo que usaré en este tutorial.

Lo primero que debes hacer es actualizar todos los paquetes y dependencias:

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

Instalar MySQL

Ahora necesitas instalar MySQL, la base de datos que alimenta a WordPress.

$ sudo apt-get install mysql-server

Debe establecer una contraseña de MySQL raíz por razones de seguridad obvias. Si usted es consciente de la seguridad adicional, también debe ejecutar $ mysql_secure_installation y sigue los pasos necesarios para bloquear tu servidor..

Instala Nginx

Lo siguiente que debe hacer es configurar un servidor web. Prefiero usar Nginx porque es ligero, versátil y fácil de configurar.

$ sudo apt-get install nginx

Instalar HHVM

Ahora instale HHVM. No es tan sencillo como instalar otros paquetes porque no está disponible en el repositorio de Ubuntu. En su lugar, tenemos que descargarlo desde HHVM, junto con algunas dependencias..

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/mx/rr /rtmpdump/librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb && sudo dpkg -i librtmp0_2.4 + 20121230.gitdf6c518-1_amdpppp.p.p.and & rm librtmp0_2.4 + 20121230.gitdf6cp1pcp.p.p.p.p.p.and & amp;

Ahora que hemos instalado HHVM, necesitamos ejecutar un script de instalación que instalará el módulo HHVM para Nginx.

sudo /usr/share/hhvm/install_fastcgi.sh

Ahora reinicie HHVM y Nginx.

 sudo /etc/init.d/hhvm restart

sudo /etc/init.d/nginx restart

Configurar el sitio web

Lo siguiente que debemos hacer es configurar un host virtual para nuestro sitio web. Por lo general, crearía un nuevo host virtual para cada sitio web en un servidor, pero como estamos probando (y por simplicidad) solo vamos a sobrescribir el contenido de / etc / nginx / sites-available / default Con un simple archivo a continuación:

Nota: necesita permisos de root para editar este archivo.

servidor escuchar 80; nombre_servidor localhost; # o reemplazar localhost con nombre de dominio incluye hhvm.conf; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; root / var / www; índice index.php; location / try_files $ uri $ uri / /index.php?$args;  

Ahora podemos configurar WordPress:

  1. Recargue su configuración nginx actualizada: $ sudo servicio nginx recargar.
  2. Ahora crea un directorio raíz web: $ sudo mkdir / var / www.
  3. Descargar WordPress:  $ Sudo wget http://wordpress.org/latest.tar.gz / var / www /.
  4. Extraer WordPress: $ sudo tar xvf /var/www/latest.tar.gz.
  5. Mueva los archivos de WordPress a la raíz web: $ sudo mv / var / www / wordpress / * / var / www /.
  6. Limpiar: $ sudo rm -rf / var / www / wordpress /var/www/latest.tar.gz.
  7. Establecer permisos: $ sudo chmod -R 775 / var / www.
  8. Establecer grupos: $ sudo chown -R www-data.www-data / var / www.

Configurar la base de datos de WordPress

Inicia sesión en MySQL $ mysql -u root -p. Ahora ejecuta los siguientes comandos:

CREAR BASE DE DATOS wordpress; CREAR USUARIO wordpress @ localhost; OTORGAR TODOS LOS PRIVILEGIOS EN wordpress. * A username @ localhost IDENTIFICADO POR 'contraseña'; PRIVILEGIOS DE LAVADO; dejar 

Ahora puede ir a la dirección IP de su servidor y seguir la famosa instalación de cinco minutos. 

Conclusión

¡Felicidades! Ahora tiene su propio sitio de WordPress ejecutándose con tecnología de punta. Aquí están mis velocidades ejecutando WordPress predeterminado usando HHVM, siguiendo las instrucciones anteriores:

¿Qué tan rápido se está cargando su sitio?