Nos últimos meses, o HHVM conquistou a comunidade PHP. Desde que o WordPress 3.9 foi lançado, o HHVM agora é 100% compatível com o WordPress.
Infelizmente, o HHVM não está totalmente pronto para uso em produção em ambientes auto-hospedados. Na minha experiência, o HHVM falha cerca de uma vez por dia, o que o torna inviável para um site em que alta disponibilidade é importante. Recentemente, o WP Engine lançou o projeto Mercury, que permite que o HHVM falhe graciosamente, voltando ao PHP 5.5 quando ele falha.
Neste artigo, vamos instalar o HHVM em um servidor Ubuntu executando a versão LTS mais recente, 14.04. Isso pode ser feito usando um programa de visualização como o VirtualBox (gratuito) com um arquivo ISO do Ubuntu baixado ou usando um serviço de hospedagem na nuvem. A DigitalOcean oferece servidores em nuvem por US$ 5 por mês, que é o que usarei neste tutorial.
A primeira coisa que você deve fazer é atualizar todos os pacotes e dependências:
$ sudo apt-get update && sudo apt-get upgrade
Instalar o MySQL
Agora você precisa instalar o MySQL, o banco de dados que alimenta o WordPress.
$ sudo apt-get install mysql-server Você deve definir uma senha de root do MySQL por razões óbvias de segurança. Se você está mais preocupado com a segurança, você também deve executar
$ mysql_secure_installation e siga as etapas necessárias para bloquear seu servidor. Instalar o Nginx
A próxima coisa que você precisa fazer é configurar um servidor web. Eu prefiro usar o Nginx porque é leve, versátil e fácil de configurar.
$ sudo apt-get install nginx Instalar HHVM
Agora instale o HHVM. Não é tão simples quanto instalar outros pacotes porque não está disponível no repositório do Ubuntu. Em vez disso, precisamos baixá-lo do próprio HHVM, juntamente com algumas dependências.
wget -O - https://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add - echo deb https://dl.hhvm.com/ubuntu trusty main | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get update cd /tmp && wget https://security.ubuntu.com/ubuntu/pool/main/libm/libmemcached/libmemcached10_1.0.8-1ubuntu2_amd64.de... sudo dpkg -i libmemcached10_1.0.8-1ubuntu2_amd64.deb && rm libmemcached10_1.0.8-1ubuntu2_amd64.deb sudo apt-get install -y libgnutls26 wget https://mirrors.kernel.org/ubuntu/pool/main/r/rtmpdump/librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb && sudo dpkg -i librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb && rm librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb sudo apt-get install hhvm
Agora que instalamos o HHVM, precisamos executar um script de instalação que instalará o módulo HHVM para Nginx.
sudo /usr/share/hhvm/install_fastcgi.sh Agora reinicie o HHVM e o Nginx.
sudo /etc/init.d/hhvm restart sudo /etc/init.d/nginx restart Configurar o site
A próxima coisa que precisamos fazer é configurar um host virtual para o nosso site. Normalmente, você criaria um novo host virtual para cada site em um servidor, mas como estamos testando (e para simplificar), apenas substituiremos o conteúdo de
/etc/nginx/sites-available/default com um simples arquivo abaixo:Nota:você precisa de permissões de root para editar este arquivo.
server {
listen 80;
server_name localhost; # or replace localhost with domain name
include hhvm.conf;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /var/www;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
}
Agora podemos configurar o WordPress:
- Recarregue sua configuração nginx atualizada:
$ sudo service nginx reload. - Agora crie um diretório raiz da web:
$ sudo mkdir /var/www. - Faça o download do WordPress:
$ sudo wgethttps://wordpress.org/latest.tar.gz/var/www/. - Extrair WordPress:
$ sudo tar xvf /var/www/latest.tar.gz. - Mova os arquivos do WordPress para a raiz da Web:
$ sudo mv /var/www/wordpress/* /var/www/. - Limpar:
$ sudo rm -rf /var/www/wordpress /var/www/latest.tar.gz. - Definir permissões:
$ sudo chmod -R 775 /var/www. - Definir grupos:
$ sudo chown -R www-data.www-data /var/www.
Configurar o banco de dados do WordPress
Faça login no MySQL
$ mysql -u root -p . Agora execute os seguintes comandos:CREATE DATABASE wordpress; CREATE USER wordpress@localhost; GRANT ALL PRIVILEGES ON wordpress.* to username@localhost IDENTIFIED BY 'password'; FLUSH PRIVILEGES; quit
Agora você pode acessar o endereço IP do seu servidor e seguir a famosa instalação de cinco minutos.