Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. WordPress
Code

Usando HHVM con WordPress

by
Length:ShortLanguages:

Spanish (Español) translation by Ricardo Ramírez (you can also view the original English article)

En los últimos meses, HHVM ha sonado muy fuerte para la comunidad PHP. Desde el lanzamiento de WordPress 3.9, HHVM es ya 100% compatible con WordPress.

Desafortunadamente, HHVM no esta listo para ser usado en produccion en ambientes self-hosted. En mi experiencia, HHVM falla alrededor una vez al día, lo cuál no lo hace viable para sitios donde la disponibilidad es muy importante. Recientemente, WP Engine ha lanzado el proyecto Mercury, el cuál permite perfectamente a HHVM soportar PHP 5.5 cuando este falle.

En este artículo, vamos a instalar HHVM en un servidor Ubuntu corriendo la ultima version LTS, 14.04. Esto puede ser logrado ya sea usando un programa de virtualización como VirtualBox (Gratis) con un archivo ISO de Ubunt, o usando un sistema de almacenamiento en la nube. DigitalOcean ofrece servidores en la nube por $5 al mes, que es lo que vamos a utilizar en este tutorial.

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

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

Instalar MySQL

Ahora necesitan instalar MySQL, el motor de base de datos que utiliza WordPress.

$ sudo apt-get install mysql-server

Se debe establecer una contraseña root de MySQL por razones obvias de seguridad. Si eres muy consciente de la seguridad, debes también ejecutar $ mysql_secure_installation y seguir los pasos necesarios para asegurar tu servidor.

Instalar Nginx

Lo siguiente es configurar el servidor web. Yo prefiero Nginx porque es ligero, versátil y fácil de configurar.

$ sudo apt-get install nginx

Instalar HHVM

Ahora a instalar 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 su sitio oficial junto con unas pocas dependencias.

Ahora que tenemos instalado HHVM, tenemos que ejecutar un script de instalacion del modulo para Nginx.

sudo /usr/share/hhvm/install_fastcgi.sh

Ahora reiniciar HHVM y Nginx.

sudo /etc/init.d/hhvm restart

sudo /etc/init.d/nginx restart

Configurar el sitio web

Lo siguiente es configurar un servidor virtual para nuestro sitio web. Normalmente debes crear un nuevo servidor virtual por cada sitio web en el servidor, pero como estamos realizando pruebas (y por razones practicas) solamente vamos a sobreescribir el contenido de /etc/nginx/sites-available/default con lo siguiente:

Nota: necesitas permisos de administrador para editar el archivo.

Ahora podemos configurar WordPress:

  1. Recarga la configuración actualizada de Nginx: $ sudo service nginx reload.
  2. Ahora crea un directorio raíz: $ sudo mkdir /var/www.
  3. Descarga WordPress: $ sudo wgethttp://wordpress.org/latest.tar.gz /var/www/.
  4. Extrae WordPress: $ sudo tar xvf /var/www/latest.tar.gz.
  5. Mueve los archivos de WordPress a la carpeta raíz: $ sudo mv /var/www/wordpress/* /var/www/.
  6. Limpia: $ sudo rm -rf /var/www/wordpress /var/www/latest.tar.gz.
  7. Define permisos: $ sudo chmod -R 775 /var/www.
  8. Establece grupos: $ sudo chown -R www-data.www-data /var/www.

Configura la base de datos de WordPress

Accede a MySQL $ mysql -u root -p. Ahora ejecuta los siguientes comandos:

Ahora puedes ir a la dirección IP de tu servidor y seguir el famoso proceso de "5 minutos" de instalación.

Conclusión

¡Felicitaciones! Ahora tienes tu propio sitio WordPress corriendo con la última tecnología. Aquí están mis estadísticas de velocidad de WordPress usando HHVM, siguiendo las instrucciones anteriores.

Speed results for website using HHVM

¿Que tan rapido carga tu sitio?

¡Sé el primero en conocer las nuevas traducciones–sigue @tutsplus_es en Twitter!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.