✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

¿Cómo configurar HHVM en Ubuntu VPS?

5

Mi VPS (servidor privado virtual) inicial solo tenía 512 M de RAM, 1 núcleo y 10 G de disco duro. Más tarde, actualicé a 2 núcleos, 1 G de RAM y 20 G de disco duro debido a un incidente de falta de memoria. Sin embargo, hace unos días, el tráfico crece (la mayoría de ellos son de bots ), el VPS apenas podía manejar y es por eso que actualicé nuevamente a 3 núcleos y 2 GB de RAM.

La versión de PHP en VPS es 5.5 y, por lo tanto, tiene un acelerador incorporado, OpCache, que almacena en caché el código de operación de PHP. Opcache se presenta para reemplazar APC (Another PHP Cache), que es un proyecto de código abierto que se usa principalmente para acelerar el código PHP antes de la versión 5.4.x o versiones anteriores. El HHVM funciona de manera similar. Compila el código PHP en ensamblador la primera vez y luego el código ensamblador, si se encuentra y sigue siendo válido, se ejecutará sin volver a interpretar el mismo código PHP. Esta idea es muy similar a la plataforma .NET donde los lenguajes .NET como C# se traducen y compilan a código nativo en tiempo de ejecución (JIT = Just In Time) compilador. Es por eso que las aplicaciones .NET se ejecutan lentamente al principio, pero tienden a acelerarse más tarde porque se compilan en tiempo de ejecución en código nativo y se almacenan en caché.

Por supuesto, hay otras características nuevas. El nuevo lenguaje [Hack] está basado en PHP. Sabemos que el lenguaje PHP es un lenguaje de tipos sueltos, lo que significa que no tiene que especificar un tipo (de hecho, no hay formas de hacerlo explícitamente) para ninguna variable. Los tipos se utilizan cuando es necesario. El lenguaje Hack es un lenguaje de tipo gradual, lo que significa que la primera vez que define un tipo, no se puede cambiar el tipo. Esto ayuda a promover un código robusto y mejora la eficiencia del desarrollo. Este es un tema bastante grande que debería ser presentado en una publicación separada.

La instalación de HHVM en Linux (en mi caso, Ubuntu) es bastante sencilla.

root@uploadbeta:/var/www/helloacm.com/htdocs/hhvm# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description:    Ubuntu 14.04.1 LTS Release:        14.04 Codename:       trusty

Puede descargar los binarios precompilados o el código fuente y compilarlo localmente. Lo siguiente se instala desde un repositorio binario precompilado.

wget -O -

Luego puede ejecutar el siguiente comando para configurar el servidor apache o ngix.

/usr/share/hhvm/install_fastcgi.sh

De hecho, después de instalar hhvm, puede usarlo en la línea de comando para ejecutar el código fuente de PHP, así:

hhvm hello-world.php

Parámetros de la línea de comandos de HHVM

Podemos deshabilitar temporalmente el servidor Apache:

sudo service apache2 stop

Y ejecute el servidor hhvm, escuchando en el puerto 80 (por lo que debe detener otros servidores que escuchan en el mismo puerto):

hhvm -m server

Y luego puede probar el código PHP en el navegador, que se pasa al servidor HHVM.

Si experimenta un error 404 no encontrado después de la instalación y configuración, probablemente necesite agregar la siguiente línea a /etc/hhvm/server.ini

hhvm.server.fix_path_info = true

Y reinicie hhvm usando sudo service hhvm restart.

Probé y monitoreé el servidor por un tiempo y, para ser honesto, no vi ninguna diferencia, probablemente debido al tráfico imperceptible. Sin embargo, los procesos enumerados por el comando htop cambiaron de apache2 -k start a hhvm

También podemos crear un archivo PHP que tenga el siguiente contenido y probar si HHVM está funcionando en el navegador:

Los sitios de wordpress se pueden ejecutar con HHVM, pero parece que HHVM no es compatible con la codificación GB2312 (y quizás también con otros) porque se confunde con los caracteres. El código PHP de la galería de fotos mostraba una página en blanco usando HHVM y todavía no he descubierto la causa.

Aún así decidí deshacerme de HHVM, el paquete actual: Apache2 + PHP5.5 + Mysql funciona bastante bien. Tal vez traeré HHVM de regreso en el futuro si el VPS experimenta un gran tráfico nuevamente.

sudo service hhvm stop sudo apt-get remove hhvm

Necesitamos restaurar la configuración de apache2 después de la desinstalación de HHVM.

sudo a2dismod proxy_fcgi sudo a2dismod proxy rm /etc/apache2/mods-enable/hhvm*.conf sudo service apache2 restart

Fuente de grabación: helloacm.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More