X

Instalar HHVM en Centos 64Bits

¿Se han preguntado en que esta programado Facebook? ¿O en que servidor web corre el código fuente de Facebook?

En esta oportunidad vamos a hablar del servidor web HHVM utilizado por Facebook  para todos sus proyectos hechos en PHP o Hacklang (Lenguaje propio de Facebook derivado de p) . Vamos a ver como podemos aplicar nuestros proyectos en Php con esta nueva tecnologia.

Pero primero, veremos una breve introducción de los creadores de este software donde nos cuentan qué es HHVM y cómo puede ayudarnos en la performance de nuestras aplicaciones web.

Ahora que ya tenemos una idea más clara de qué es y para qué sirve HHVM de Facebook, procederemos a instalarlo en nuestro servidor dedicado o Cloud VPS con CentOS, para luego integrarlo con nuestro servidor web favorito: Nginx.

Instalar HHVM

Este servidor web lo puedes instalar en cualquiera de nuestros servicios de Cloud VPS o Servidores dedicados

1. Bajamos e instalamos el repositorio de Hop5.in

cd /etc/yum.repos.d
sudo wget http://www.hop5.in/yum/el6/hop5.repo 

2. Realizamos la limpieza de paquetes

yum clean all

3. Instalamos el paquete hhvm

yum install hhvm

4. Actualizamos el paquete hiphop-php

yum update hiphop-php

5. Verificamos la versión de nuestro servicio hhvm

[root@node1 ~]hhvm --version
HipHop VM 3.0.1 (rel)
Compiler: 
Repo schema: e69de29bb2d1d6434b8b29ae775ad8c2e48c5391

 

Configurar HHVM con Nginx

 

1. Hacemos proxy del servidor hhvm, es muy parecido a lo que hemos hecho con php-fpm

# Note this will work with "hack" files as well as php files!
location ~ \.(hh|php)$ {
    fastcgi_keep_conn on;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

2. Configuración del HHVM en /etc/hhvm.hdf

Server {
  Port = 9000
  SourceRoot = /var/www/
}

Eval {
  Jit = true
}
Log {
  Level = Error
  UseLogFile = true
  File = /var/log/hhvm/error.log
  Access {
    * {
      File = /var/log/hhvm/access.log
      Format = %h %l %u %t "%r" %>s %b
    }
  }
}

VirtualHost {
  * {
    Pattern = .*
    RewriteRules {
      dirindex {
        pattern = ^/(.*)/$
        to = $1/index.php
        qsa = true
      }
    }
  }
}

StaticFile {
  FilesMatch {
    * {
      pattern = .*.(dll|exe)
      headers {
        * = Content-Disposition: attachment
      }
    }
  }
  Extensions {
    css = text/css
    gif = image/gif
    html = text/html
    jpe = image/jpeg
    jpeg = image/jpeg
    jpg = image/jpeg
    png = image/png
    tif = image/tiff
    tiff = image/tiff
    txt = text/plain
  }
}

3. Iniciamos el servicio HHVM

/usr/bin/hhvm --mode daemon --user web --config /etc/hhvm.hdf

Con esto podemos iniciar nuestros pasos con este nuevo servidor. Los desarrolladores de Facebook nos aseguran que la velocidad de nuestros sitios mejorara considerablemente, y algo bueno a saber es que hoy por hoy el 98% de los frameworks más populares están soportados.

Artículos relacionados