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

JUNTE-SE A MAIS DE 110.000 PESSOAS QUE JÁ TEM UMA CÓPIA

Ubuntu: Iniciando com Linux de maneira prática e rápida

Compartilhe este post

Share on facebook
Share on linkedin
Share on twitter
Share on email

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

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 userwp@localhost identified by '#userwp#'; # esse #userwp# é a senha do usuário.
grant all privileges on wordpress.* to userwp@localhost identified by '#userwp#';
flush privileges;

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

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

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

Compartilhe este post

Share on facebook
Share on linkedin
Share on twitter
Share on email

Artigos Recentes

Aprenda a dominar o Linux de uma vez por todas

Aprenda a dominar o Linux de uma vez por todas