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