Primeros pasos con HHVM
En esta sección aprenderá cómo configurar NGINX con HHVM y MongoDB.
Sin embargo, este tutorial no pretende ser una guia exclusiva de cómo
ejecutar NGINX y HHVM en un entorno de producción.
En este tutorial emplearemos un sistema Debian con NGINX instalado
a través de apt-get y HHVM instalado desde el código fuente o desde
paquetes preconstruidos a /usr/local/hhvm/3.9.1 (con los binarios ubicados
en /usr/local/hhvm/3.9.1/bin/hhvm).
Instalación de NGINX
Simplemente instalamos NGINX ejecutando apt-get install nginx-full.
Si NGINX no se iniciase después de su instalación, probablemente sea porque ya se
tenga otro servidor web (p.ej. Apache) ejecutándose en el mismo puerto. En este daso,
se podrán ver las siguientes líneas en /var/log/nginx/error.log:
Para solucionar este problema, se puede o bien cambiar el puerto predeterminado para NGINX o Apache,
o bien detener el proceso de Apache con service apache2 stop, o bien eliminar
Apache por completo con apt-get remove apache2.
Instalación de HHVM
Este tutorial está escrito desde la perspectiva de un desarrollador de extensiones, por lo que
hemos instalado HHVM desde el código fuente para facilitar el desarrollo de parches y asegurar
la disponibilidad de los símbolos de depuración. Dicho esto, los de Facebook también
proporcionan paquetes preconstruidos, que es lo que probablemente usted
utilice en producción y desarrollo. Se pueden encontrar las instrucciones de instalación
de esto paquetes en la
Wiki de HHVM.
Será necesario instalar los paquetes hhvmyhhvm-dev. Este último es necesario
para poder compilar la extensión MongoDB HHVM después.
Si está compilando HHVM desde el código fuente, será necesario crear
/var/run/hhvm:
> /etc/hhvm/php.ini
]]>
HHVM debería iniciarse como el usuario www-data. Para los propósitos de
este tutorial, lo podremos ejecutar en segundo plano en el modo
server como sigue:
Comunicación entre NGINX y HHVM
Una vez se esté ejecutando HHVM, necesitamos indicar a NGINX cómo comunicarse con HHVM para ejecutar
ficheros .php. Aunque esta no sea la estrategia más limpia,
se puede añadir el siguiente código a
/etc/nginx/sites-enabled/default, justo depués de la
sección location / { … }:
Después de añadir este código se debe reiniciar NGINX:
Para confirmar que todo funciona bien, crearemos un directorio de proyecto
con un fichero index.php que llame a phpinfo():
Crear el directorio de proyecto:
sudo mkdir -p /var/www/html/mi-primer-proyecto
Cambiar los permisos a su usuario y al grupo www-data:
sudo chown derick.www-data /var/www/html/mi-primer-proyecto
Crear el fichero /var/www/html/mi-primer-proyecto/index.php.
Desde ahora, no incluiré la ruta completa
/var/www/html/mi-primer-proyecto/ al mencionar nombres de ficheros.
Poner el siguiente contenido en este fichero:
]]>
Ahora, en el navegador, solicite la página
http://gargleblaster/mi-primer-proyecto/index.php (ajustando el
nombre del host). Se debería mostrar una página comenzando con "HHVM Version 3.9.1"
seguido de varias tablas con información.
Instalación del Controlador de MongoDB para HHVM
El controlador de MongoDB es la parte que conecta el PHP de HHVM con el
servidor de bases de datos. Para instalar y registrar el controlador con HHVM, es necesario
seguir los pasos de .
Después de haber instalado y habilitado la extensión, HHVM necesitará
reiniciarse. Si se tenía HHVM ejecutándose en el «shell» anteriormente, detnéngalo con
Ctrl-C y reinicielo de nuevo como antes:
Para porbar que el controlador está cargado, edite el fichero index.php
y reemplace su contenido con:
]]>
Esto debería mostrar algo similar a:Otras lecturas
Continúe este tutorial en