Introdução

HHVM (Hip Hop Virtual Machine) é um compilador just-in-time desenvolvido pelo Facebook para executar aplicações que são escritas em PHP e corte idioma. HHVM é mais rápido que o motor PHP tradicional da ZEND e é usado pelo Facebook para servir milhares de milhões de solicitações da web por dia. HHVM tem uma taxa de transferência 9x mais elevado de solicitações da web e mais uma redução de 5x no consumo de memória em comparação com o motor Zend PHP 5.2 + APC. veja mais aqui.

Este tutorial descreve as etapas para instalar o WordPress com Nginx, MariaDB e HHVM no Ubuntu 16.04 Server – 64bit.

Pré-requisitos

Eu suponho que você tenha instalado em sua máquina:

  • Ubuntu 16.04 Server com arquitetura de 64 bits, porque HHVM está sendo executado em 64 bits apenas.
  • Que você tem acesso root / sudo para o servidor.

Então é isso que vamos fazer neste tutorial:

  1. Instalar Nginx.
  2. Instalar e configurar o MariaDB.
  3. Instalar e configurar o HHVM.
  4. Instalar e configurar o WordPress.

Instalando Nginx

O servidor web Nginx está disponível no repositório do Ubuntu. Você pode instalá-lo com o comando apt:

sudo apt-get update
sudo apt-get install nginx

Quando a instalação estiver concluída, inicie Nginx:

systemctl start nginx

Agora teste com o seu navegador, abra o IP do servidor: http://192.168.1.108/ . Substituir o IP na URL com seu próprio IP.

Bem vindo Nginx

Instalar e configurar o MariaDB

Neste tutorial, vou instalar MariaDB como um substituto para o MySQL para tirar partido do seu melhor desempenho. MariaDB é um fork do MySQL mantido pelo MySQL original desenvolvedor Monty Widenius.

Instalar MariaDB com o comando apt-get:

sudo apt-get install mariadb-client mariadb-server

Agora você pode começar MariaDB:

sudo systemctl mysql start

Quando MariaDB estiver em execução, definir a senha de root do MariaDB para proteger o banco de dados:

mysql_secure_installation
Digite a senha atual para o root (enter para vazio): Pressione Enter

Definir senha root?  [Y / n] Y 

 COLOQUE SUA SENHA
 Remover usuários anônimos?  [Y / n] Y
 Proibir login root remotamente?  [Y / n] Y
 Remover banco de dados de teste e acesso a ele?  [Y / n] Y
 Atualizar tabelas de privilégios agora?  [Y / n] Y

Agora a senha de root para o MariaDB foi definido e você pode fazer o login no prompt MariaDB com sua senha.

mysql -u root -p

Digite sua senha

Agora crie uma nova base de dados com o nome “wordpressdb” e um novo usuário com o nome wpuser para a instalação do WordPress.
Você pode fazer isso com os comandos abaixo.
Por favor, substitua ‘[email protected]’ com uma senha segura que será usado as credenciais de acesso para o novo banco de dados WordPress.

create database wordpressdb;
create user [email protected] identified by '[email protected]';
grant all privileges on wordpressdb.* to [email protected] identified by '[email protected]';
flush privileges;
\q

Instalar e configurar o HHVM

Adicionar o repositório HHVM para o seu arquivo de repositório /etc/apt/sources.list e atualizar o repositório:

wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add -
echo deb http://dl.hhvm.com/ubuntu xenial main | sudo tee /etc/apt/sources.list.d/hhvm.list
apt-get update

Agora vamos instalar HHVM:

sudo apt-get install hhvm -y

Quando a instalação estiver concluída, configurar o servidor web Nginx para usar HHVM:

sudo /usr/share/hhvm/install_fastcgi.sh

Para iniciar HHVM automaticamente no sistema de inicialização, execute este comando:

sudo update-rc.d hhvm defaults

e vamos usar HHVM para /usr/bin/php mesmo se você estiver o php-cli instalado:

sudo /usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60

Agora vamos iniciar o HHVM:

sudo systemctl start hhvm

Agora é hora de testar HHVM, vou testá-lo no navegador e no servidor console/terminal.

Criar novo arquivo chamado info.php no diretório /var/www/html/ :

cd /var/www/html/
nano info.php

E adicionar o código PHP abaixo:

<?php
phpinfo();
?>

Em seguida, acessar o arquivo no seu navegador: http://192.168.1.108/info.php . Veja se está aparecendo as informações do HHVM.

Instalando WordPress

Baixar WordPress e extraí-lo:

cd /var/www/html/
 wget wordpress.org/latest.zip
 unzip latest.zip

WordPress é extraído para o diretório “wordpress”, você terá que mover todos os arquivos do WordPress e diretórios para /var/www/html/, você pode fazer isso com os comandos abaixo:

cd /var/www/html/
 mv wordpress/* .
 rm -rf wordpress/

Agora alterar o proprietário para arquivos WordPress para o www-data de usuários e grupos, geralmente todos os arquivos no diretório  /var/www/html/ são de propriedade do usuário www-data e do grupo. Executar esses comandos para alterar a propriedade de arquivos e diretórios:

find . -type d -exec chown www-data:www-data {} \;
find . -type f -exec chown www-data:www-data {} \;

Em seguida, renomeie o arquivo wp-config-sample.php para wp-config.php, e editar o arquivo para definir o nome do banco de dados, o usuário do banco de dados e a senha que criou durante a configuração do banco de dados.

mv wp-config-sample.php wp-config.php
nano wp-config.php

DB_NAME = wordpressdb
DB_USER = wpuser
DB_PASSWORD = [email protected]

wordpress-dbAgora edite o arquivo virtualhost nginx /etc/nginx/sites-available/default com nano, e adicione index.php:

rm -f index.nginx.html
nano /etc/nginx/sites-available/default

nginx-indexE reinicie o Nginx:

systemctl restart nginx

Quando Nginx é reiniciado, tente acessar o IP do servidor: http://192.168.1.108/ , você será redirecionado para a instalação do WordPress.

Conclusão

HHVM é um projeto de código aberto projetado para executar programas escritos em Hack and linguagem PHP que executa aplicações PHP mais rápido e com menor consumo de memória do que o tradicional motor ZEND. A última versão do WordPress funciona muito bem com HHVM.

Espero que tenha ajudado, qualquer dúvida ou sugestões deixe nos comentários abaixo.

Solução de problemas:

Caso comece a receber a mensagem de 502 bad gateway. Leia este tutorial para reselver: http://www.jrossetto.com.br/tutoriais/linux/resolvendo-problema-502-bad-gateway-hhvm/

DEIXE UMA RESPOSTA

Please enter your comment!
Please enter your name here