Varnish com WordPress no CentOS e Ubuntu

varnish-cache

O Varnish

O Varnish é um componente que ficou extremamente popular há alguns anos, e com bons motivos. Ele é um proxy reverso que acelera bastante o carregamento de páginas. Neste post não vamos nos aprofundar no Varnish, pois ele seria conteúdo para pelo menos 1 post inteiro. Vamos mostrar como configurá-lo junto com o WordPress no CentOS/Amazon Linux e no Ubuntu, e o seu resultado sobre a velocidade das páginas.

O WordPress

wordpress_logo

O WordPress é uma plataforma de publicação, blogs e CMS extremamente popular e muito útil e fácil de usar. Seu sucesso é tão grande que ele está completando 10 anos e não há sinais de que esteja perdendo popularidade, muito pelo contrário.

Embora o WordPress seja uma ferramenta ótima, ele pode ficar lento com uma carga mais intensa e não foi feito para comportar sozinho um volume tão pesado de acessos. O ideal é termos uma arquitetura utilizando suas facilidades de publicação, mas “protegê-lo” de uma carga mais pesada.

Neste post assumiremos que ele já está instalado no seu servidor e você quer apenas acelerá-lo com o Varnish. Porém, está no forno um outro post em breve sobre uso do WordPress de forma profissional na Amazon, no qual discutiremos as boas práticas para usá-lo de forma adequada em sites valiosos para nós. Vamos assumir que você tem o WordPress rodando 1 ou mais sites no mesmo servidor na porta 80, e então o Varnish assumirá a porta 80 e seu HTTP server passará a escutar em outra porta.

Instalando e Configurando o Varnish no CentOS

Precisamos na sequência modificar as configurações do servidor HTTP e todos os virtual hosts para que não usem mais a porta 80, alterando todos para alguma outra porta. No meu caso eu utilizei a 18080, pois a 8080 já estava sendo utilizada.

Faça a mesma coisa para todos os sites dentro de /etc/httpd/sites-available, trocando as ocorrências da porta 80 por 18080 (ou qualquer outra que você preferir):

Backup dos arquivos originais de configuração do Varnish

 Configurando Varnish para cachear nosso WordPress

Preencher com o conteúdo abaixo.

Preencher com o conteúdo abaixo, só ajustando de acordo com a sua escolha de portas.

Instalando e Configurando o Varnish no Ubuntu

O processo para o Ubuntu é idêntico, só mudando os comandos e os locais dos arquivos de configuração.

Modificar as configurações do servidor HTTP e todos os virtual hosts para que não usem mais a porta 80, alterando todos para alguma outra porta (18080 no meu caso).

Faça a mesma coisa para todos os sites dentro de /etc/apache2/sites-available, trocando as ocorrências da porta 80 por 18080 (ou qualquer outra que você preferir):

Backup dos arquivos originais de configuração do Varnish

 Configurando Varnish para cachear nosso WordPress

Preencher com o conteúdo idêntico ao da seção do CentOS.
Depois disso, fazer:

Preencher também de acordo com a seção idêntica do CentOS.

Resultados do PageSpeed

Pronto, depois de configurar o Varnish para cachear as páginas do WordPress e acelerar os carregamentos, já podemos conferir o resultado disto no PageSpeed. O blog e o site da Rivendel estavam com ratings bons já, mas de vez em quando vinha uma observação sobre melhorar o tempo de resposta do servidor. Isto ficou sensivelmente melhor com o Varnish, como podemos ver abaixo.
page_speed_site
page_speed_blog
Carregamento bem rápido e rating de 92 no site e 91 no blog, e ambos muito melhor preparados para aguentar uma carga pesada de acessos. Nada mal, né? Agradeço ao Varnish :)

21