✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Como configurar o HHVM no Ubuntu VPS?

7

Meu VPS inicial (Virtual Private Server) tinha apenas 512M de RAM, 1 núcleo e 10G HDD. Mais tarde, atualizei para 2 núcleos, 1G RAM e 20G HDD devido a um incidente de falta de memória. No entanto, há alguns dias, o tráfego cresce (a maioria deles são de bots ), o VPS mal dava conta e por isso atualizei novamente para 3 núcleos e 2 GB de RAM.

A versão do PHP no VPS é 5.5 e, portanto, possui um acelerador embutido, OpCache, que armazena em cache o opcode do PHP. O Opcache é introduzido para substituir o APC (Another PHP Cache), que é um projeto de código aberto usado principalmente para acelerar o código PHP antes da versão 5.4.x ou versões anteriores. O HHVM funciona de maneira semelhante. Ele compila o código PHP em assembly na primeira vez e, em seguida, o código assembly, se encontrado e ainda válido, será executado sem reinterpretar o mesmo código PHP. Essa ideia é muito parecida com a plataforma .NET onde as linguagens .NET como C# são traduzidas e compiladas para código nativo em tempo de execução (JIT = Just In Time) compilador. É por isso que os aplicativos .NET são lentos no início, mas tendem a acelerar mais tarde porque são compilados em tempo de execução para código nativo e armazenados em cache.

Claro, existem outras novidades. A nova linguagem [Hack] é baseada em PHP. Sabemos que a linguagem PHP é uma linguagem de tipo flexível, o que significa que você não precisa especificar um tipo (na verdade, não há maneiras de fazer isso explicitamente) para nenhuma variável. Os tipos são usados ​​quando necessário. A linguagem Hack é uma linguagem de tipo gradual, o que significa que na primeira vez que você define um tipo, o tipo não pode ser alterado. Isso ajuda a promover um código robusto e melhora a eficiência do desenvolvimento. Este é um grande tópico que deve ser introduzido em um post separado.

A instalação do HHVM no Linux (no meu caso, Ubuntu) é bastante simples.

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

Você pode baixar os binários pré-compilados ou o código-fonte e compilá-lo localmente. O seguinte é instalado a partir de um repositório binário pré-compilado.

wget -O -

Você então pode executar o seguinte comando para configurar o servidor apache ou ngix.

/usr/share/hhvm/install_fastcgi.sh

Na verdade, depois de instalar o hhvm, você pode usá-lo na linha de comando para executar o código-fonte do PHP, assim:

hhvm hello-world.php

Parâmetros de linha de comando HHVM

Podemos desativar temporariamente o servidor Apache:

sudo service apache2 stop

E execute o servidor hhvm, escutando na porta 80 (assim você tem que parar outros servidores que escutam na mesma porta):

hhvm -m server

E então você pode testar o código PHP no navegador, que é passado para o servidor HHVM.

Se ocorrer um erro 404 não encontrado após a instalação e configuração, você provavelmente precisará adicionar a seguinte linha ao /etc/hhvm/server.ini

hhvm.server.fix_path_info = true

E reinicie o hhvm usando sudo service hhvm restart.

Eu testei e monitorei o servidor por um tempo e para ser honesto não vi nenhuma diferença provavelmente por causa do tráfego imperceptível. No entanto, os processos listados pelo comando htop mudaram de apache2 -k start para hhvm

Também podemos criar um arquivo PHP que tenha o seguinte conteúdo e testar se o HHVM está funcionando no navegador:

Os sites wordpress são executáveis ​​usando HHVM, mas o HHVM parece não suportar a codificação GB2312 (e talvez outros também) porque atrapalha os caracteres. O código PHP da galeria de fotos mostrou uma página em branco usando HHVM e ainda não descobri a causa.

Ainda decidi me livrar do HHVM, o pacote atual: Apache2 + PHP5.5 + Mysql funciona muito bem. Talvez eu traga o HHVM de volta no futuro se o VPS experimentar um tráfego enorme novamente.

sudo service hhvm stop sudo apt-get remove hhvm

Precisamos restaurar as configurações do apache2 após a desinstalação do HHVM.

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

Fonte de gravação: helloacm.com

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação