NGINX + HHVM – 4 Passos Simples para Criar um Servidor Web Poderoso com LINUX

Mesmo você sendo ou não um administrador de servidores LINUX experiente, entregar velocidade de acesso ao seu site ou a sites de seus clientes é primordial, certo?

servidor-web-poderoso-nginx-hhvm

Ninguém gosta de ficar esperando para um site carregar, e se você pretende entregar uma solução completa para seu cliente, que seja muito, mas muito robusta, considere a implantação de um servidor LINUX rodando o servidor web NGINX.

NGINX é muito superior a outros servidores WEB quando o assunto é entregar páginas e arquivos estáticos, estou falando de arquivos .html, .css, .jpg etc.

  • Mas e quanto ao php?
  • Será que podemos deixar um servidor LINUX rodando NGINX tão rápido quanto o nosso usuário gostaria?

Bom, a resposta para essa pergunta é: HHVM

oque-e-o-hhvm

Com o HHVM (Hiphop Virtual Machine) que é um compilador just-in-time desenvolvido pelo Facebook para executar aplicações que são escritas em PHP e linguagem Hack.

HHVM é mais rápido do que o motor tradicional PHP da Zend e é usado pelo Facebook para servir bilhões de solicitações da web por dia.

HHVM pode elevar 9x a taxa de transferência de solicitações da web, e reduzir em 5x no consumo de memória em comparação com o motor Zend PHP 5.2 + APC

Isso é simplesmente sensacional, você poderá ter a mesma tecnologia utilizada pelo Facebook para entregar suas páginas, é uma solução testada todos os dias.

Se você quer saber  como configurar um servidor WEB com LINUX, que pode ser 9x mais rápido que a solução atual que você utiliza hoje, fique atento nos próximos parágrafos deste artigo.

Com toda certeza um servidor WEB veloz é sonho de qualquer dono de site, institucional ou um ecommerce não importa muito, o usuário final nunca tem 30 segundos para esperar o carregamento de um site.

Nos dias de hoje 30 segundos para carregar um site é muito tempo, não é mesmo? Você também não gosta de acessar um site lento? … bom eu pelo menos não gosto.

Configurar um servidor de alta performance começou a ficar mais fácil quando o NGINX surgiu no mercado, com uma proposta totalmente diferenciada do servidor web apache.

Como instalar o Servidor WEB Nginx no Linux

Antes de fazer a instalação do servidor web NGINX no DEBIAN 8, vamos destacar algumas das vantagens desse servidor.

Segundo a netcraft o servidor WEB de alta performance o NGINX tem hoje mais de 16% do mercado de servidores WEB, perdendo é claro para o mais utilizado no mundo que é o apache.

vangatens-ngnix

  • O NGINX (engine x) é um servidor HTTP e um Proxy reverso
  • Serve páginas estáticas e suporta também FASTCGI (php)
  • Proxy reverso com cachê
  • Load balance
  • Streamming de FLV e MP4
Leia mais:  5 Opções para criar Cloud Computing privado com software livre

Em um experimento usando o Apache 2.x e NGINX, para servir uma página HTML, temos o seguinte resultado:

  • Apache: 4 processos WORKER, 30% CPU, 17MB de memória, conseguiu abrir 6.500 requests por segundo.
  • Nginx: apenas 1 processo,15% CPU, 1MB de memória, conseguiu abrir 11.500 requests por segundo.

Agora vamos tratar de instalar o nosso servidor web, que irá possibilitar alta performance em nossas aplicações, para esse laboratório irei instalar o seguinte:

  • Servidor LINUX Debian 8
  • Servidor WEB NGINX
  • HHVM (Hiphop Virtual Machine) para interpretar a minha aplicação WEB.
  • Banco de dados MariaDB, em substituição ao Mysql.
  • CMS WordPress, que claro é escrito em PHP

A instalação do DEBIAN 8 será totalmente abstraída desse artigo por motivos óbvios, é um assunto bem mais amplo, mas eu sugiro você participar da primeira aula do PROFISSIONAIS LINUX, onde eu trato bem esse assunto.

Toda a instalação aqui pode sim ser replicada em UBUNTU SERVER, os comandos são os mesmos, e você tiver alguma dúvida com relação a algum comandos, eu acho que você pode pegar uma cópia desse ebook, o ebook do Curso Linux Ubuntu.

Agora vamos lá, vamos começar a instalar o nosso servidor WEB.

# apt-get update
# apt-get install nginx unzip

Você já pode também iniciar o servidor WEB NGINX para ter certeza que a instalação deu certo.

# systemctl start nginx

Agora acesso o ip de seu servidor WEB com o seu navegador preferido.

nginx-instalar-no-linux

 

Como instalar o banco de dados MariaDB no Linux

Eu vou instalar o MariaDB no lugar do MySQL, para tirar proveito do seu melhor desempenho e funções adicionais. MariaDB é um fork do MySQL Database Server mantida pelo original MySQL Developers.

Claro que hoje existem muitas razões para utilizar o MariaDB, mas eu não irei comentar muito sobre isso nesse artigo, pois o foco aqui realmente é o servidor WEB.

Vamos  lá:

#apt-get install mariadb-client mariadb-server

Pode também iniciar o servidor de banco de dados MariaDB.

#systemctl iniciar mysql

Agora já podemos criar um login para o MariaDB com o comando “mysql”, o comando irá solicitará a senha que você definiu durante a instalação do MariaDB.

# mysql -u root -p

Isso mesmo, é tudo igual ao mysql!

O próximo passo é criar um novo banco de dados, que será utilizado pelo nosso CMS WordPress, você pode escolher qualquer nome, mas para facilitar eu irei chamar o banco de dados de wordpress.

Iremos precisar de um usuário para esse banco de dados do wordpress, eu irei chamar ele dele userwp.

Vamos lá então:

# mysql -u root -p ( entre com a senha do usuário root para acessar o console do MariaDB)

Para criar o banco de dados no MariaDB:

# create database wordpress;

Agora vamos criar um usuário para esse banco e criar também os privilégios.

create [email protected] identified by '#userwp#'; # esse #userwp# é a senha do usuário.
grant all privileges on wordpress.* to [email protected] identified by '#userwp#';
flush privileges;

Pronto, já podemos sair do console do mysql com o “q”.

Leia mais:  Pendrive não formata? Veja Aqui 5 Soluções Para Resolver o Problema

Como instalar o HHVM no LINUX

Como já comentamos aqui nesse artigo, o HHVM (Hiphop Virtual Machine) que é um compilador just-in-time desenvolvido pelo Facebook para executar aplicações que são escritas em PHP e linguagem Hack.

Para instalar vamos precisar adicionar ao nosso apt-get um novo repositório, se você ficar com dúvidas nesse ponto, recomendo ler esse ebook.

# wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | apt-key add -
 # echo deb http://dl.hhvm.com/debian jessie main | tee /etc/apt/sources.list.d/hhvm.list
 # apt-get update
apt-get install hhvm

HHVM vem com um script install_fastcgi.sh,  para facilitar a configuração dele em conjunto com o Nginx. Execute o comando abaixo:

# /usr/share/hhvm/install_fastcgi.sh

E para adicionar o serviço do hhvm para iniciar com o servidor, execute mais esse comando:

# defaults hhvm update-rc.d

HHVM devem ser executado em /usr/bin/php mesmo se você já tenha um php-cli instalado, então teremos que usar o comando do Debian o update-alternatives, para reconfigurar o PHP padrão do nosso servidor LINUX:

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

Com isso, já podemos iniciar o serviço do hhvm

# systemctl start hhvm

Próximo passo é testar o HHVM com o Nginx, para isso vamos criar um arquivo de teste.

Crie novo arquivo com o nome  info.php no diretório  /var/www/html, assim:

# echo "<? echo 'HipHop';  ?>" > /var/www/html/info.php

Agora acesse o seu navegador: http://ip_do_seu_servidor/info.php. Quando você ver a palavra  HipHop, ok! o HHVM está funcionando corretamente.

No terminal você também pode testar assim:

# php /var/www/html/info.php
# php -v

Como Instalar o WordPress

Então, o Wordpres tem a famosa instalação em 5 minutos, a nossa instalação talvez seja feita aqui em 30 segundos mas é bom seguir essa sequência.

Vamos lá:

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

O comando unzip extraiu o WordPress para o sub-diretório chamado “wordpress” , vamos mover todos os arquivos do WordPress para o diretório  /var/www/html/.

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

Em seguida, altere o DONO dos arquivos do WordPress para a www-data. Normalmente, todos os arquivos no  diretório /var/www/html  são de propriedade do  www-data, tanto o usuário quanto o grupo.

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

Renomeie o arquivo wp-config-sample.php para wp-config.php. 

Agora vamos editar o arquivo com o editor vim para definir o nome do banco de dados, usuário e senha que foi criada durante a configuração do banco de dados wordpress.

# cd /var/www/html/
# mv wp-config-sample.php wp-config.php
# vim wp-config.php
# rm -f index.nginx.html 

Abaixo as informações para acesso ao banco de dados, que devem ser modificadas no arquivo.

DB_NAME = wordpress
DB_USER = userwp
DB_PASSWORD = #userwp#

Agora edite o arquivo virtualhost do nginx em /etc/nginx/sites-available/default e adicione o index.php   como arquivo de index padrão

Leia mais:  SELinux - Aprimorando a segurança do sistema Linux

Essa configuração instrui Nginx para usar o arquivo index.php como o arquivo padrão quando o site é acessado.

# vim /etc/nginx/sites-available/default

Procure pela linha: index conforme abaixo:

index index.php index.html ... ;

Agora pode reiniciar o servidor web nginx.

# systemctl restart nginx

Agora pronto, tente acessar o ip do seu servidor LINUX, http://ip_do_seu_servidor  novamente, você será redirecionado para o instalador do WordPress. Siga as instruções do instalador para concluir.

instalacao-wordpress-nginx-HHVM-01

instalacao-wordpress-nginx-HHVM-02

instalacao-wordpress-nginx-HHVM-03

instalacao-wordpress-nginx-HHVM-04

Ok,  seu wordpress está instalado com HHVM e Nginx em um servidor LINUX Debian 8.

Vamos relembrar todas as dicas desse artigo:

  • Necessidade de um servidor WEB de alta performance, avalie sempre o NGINX;
  • NGINX é uma ótima solução de servidor web que pode ser inclusive utilizado em conjunto com o apache;
  • NGINX trabalha melhor com arquivos estáticos, para arquivos dinâmicos podemos usar fastCGI, como foi o caso do HHVM aqui nesse artigo;
  • O banco de dados MariaDB tende a substituir o Mysql, por ser um fork não existe grande problemas na migração e até mesmo a adoção desse banco de dados, avalie sempre a sua aplicação;
  • O HHVM é a grande atração aqui deste artigo, desenvolvido pelo Facebook para executar aplicações que são escritas em PHP e linguagem Hack, hoje é uma ótima solução para aplicações PHP de grande porte;
  • A instalação do WordPress é muito simples, porém o CMS como um todo é muito poderoso, apesar de consumir muito recurso do servidor, ele utilizado com essa solução que apresentamos aqui no artigo pode ser o responsável por grandes sites.

Você conhece alguém que adoraria receber essas dicas?

Então faça um favor para ela (e para mim) e compartilhe esse artigo.

Você pode compartilhá-lo no Facebook, Twitter, Google+ ou até mesmo copiar a URL desse artigo e enviar para quem precisa dele.

E, para finalizar, eu adoraria saber a sua opinião sobre esse artigo.

Deixe um comentário logo abaixo sobre o que você mais gostou nesse artigo, ou sobre alguma dica extra que você deseja compartilhar conosco ou até mesmo alguma crítica sobre esse texto.

Forte abraço.

Pedro Delfino

ebook completo e Gratuito

Aprenda a Dominar o Linux De Uma Vez Por Todas

baixe sua Cópia

APRENDA A DOMINAR O LINUX