Pesquisa de site

Instale Mod_Pagespeed para acelerar o desempenho do Apache e Nginx em até 10x


Esta é nossa série contínua sobre otimização e ajuste de desempenho do Apache. Aqui estamos apresentando um novo produto do Google chamado módulo mod_pagespeed para Apache ou Nginx que faz com que o site carregue muito mais rápido do que nunca.

Eu testei pessoalmente este módulo em nosso servidor Live (linux-console.net) e os resultados são incríveis, agora o site carrega muito mais rápido do que antes. Recomendo a todos que instalem e vejam os resultados.

Não perca: 5 dicas para aumentar o desempenho do seu servidor Web Apache

Neste artigo mostraremos como instalar e configurar o módulo mod_pagespeed do Google para Apache e Nginx web servidores em RHEL/CentOS/ Sistemas Fedora e Debian/Ubuntu usando pacotes binários oficiais, para que seu o sistema receberá atualizações regulares automaticamente e permanecerá atualizado.

O que é Mod_PageSpeed

mod_pagespeed é um módulo de código aberto para servidores web Apache e Nginx que otimiza automaticamente páginas web para melhorar o desempenho enquanto veiculando páginas da web usando o servidor HTTP.

Possui vários filtros que otimizam automaticamente arquivos como HTML, CSS, JavaScript, JPEG, PNG< e outros recursos.

mod_pagespeed é desenvolvido em bibliotecas de otimização PageSpeed, implantado em mais de 100 mil sites e fornecido pelos provedores de CDN e hospedagem mais populares, como GoDaddy, EdgeCast, DreamHost e alguns para citar.

Oferece mais de 40 filtros de otimização, que incluem:

  1. Otimização, compactação e redimensionamento de imagens
  2. Concatenação, minificação e inlining de CSS e JavaScript
  3. Extensão de cache, fragmentação e reescrita de domínio
  4. Carregamento adiado de JS e recursos de imagem
  5. e muitos outros…

Atualmente, as plataformas Linux suportadas pelo módulo mod_pagespeed são RHEL/CentOS/ Fedora e Debian/Ubuntu< para distribuições de 32 e 64 bits.

Instalando o Módulo Mod_Pagespeed no Linux

Como mencionei acima, estamos usando os pacotes binários oficiais do Google para instalá-lo em atualizações futuras, então vamos instalá-lo em seus sistemas com base na arquitetura do seu sistema operacional.

No RHEL/CentOS e Fedora

----------- On 32-bit Systems -----------------
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.rpm
yum install at   [# if you don't already have 'at' installed]
rpm -Uvh mod-pagespeed-stable_current_i386.rpm

----------- On 64-bit Systems -----------------
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.rpm
yum install at   [# if you don't already have 'at' installed]
rpm -Uvh mod-pagespeed-stable_current_x86_64.rpm

No Debian e Ubuntu

----------- On 32-bit Systems -----------------
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb
sudo dpkg -i mod-pagespeed-stable_current_i386.deb
sudo apt-get -f install

----------- On 64-bit Systems -----------------
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb
sudo dpkg -i mod-pagespeed-stable_current_amd64.deb
sudo apt-get -f install

A instalação do mod_pagespeed a partir de pacotes binários adicionará um repositório oficial do Google ao seu sistema, para que você possa atualizar o mod_pagespeed automaticamente usando o gerenciador de pacotes chamado yum ou apt.

Qual Mode_Pagespeed está instalado

Vamos ver quais pacotes mod_pagespeed estão instalados no sistema:

  1. Ele instalará dois módulos, mod_pagespeed.so para Apache 2.2 e mod_pagespeed_ap24.so para Apache 2.4.
  2. Ele instalará dois arquivos de configuração principais: pagespeed.conf e pagespeed_libraries.conf (para Debian pagespeed.load). Se você alterar um desses arquivos de configuração, não receberá mais atualizações futuras automaticamente.
  3. Um minificador de JavaScript autônomo pagespeed_js_minify usado para minificar JS e criar metadados para canonização de biblioteca.

Sobre configuração e diretórios do Mod_Pagespeed

O módulo permite seguir arquivos e diretórios de configuração automaticamente durante a instalação.

  1. /etc/cron.daily/mod-pagespeed : script cron mod_pagespeed para verificar e instalar as atualizações mais recentes.
  2. /etc/httpd/conf.d/pagespeed.conf : O principal arquivo de configuração do Apache em distribuições baseadas em RPM.
  3. /etc/apache2/mods-enabled/pagespeed.conf : O principal arquivo de configuração do Apache2 em distribuições baseadas em DEB.
  4. pagespeed_libraries.conf : o conjunto padrão de bibliotecas do Apache, carregado na inicialização do Apache.
  5. /usr/lib{lib64}/httpd/modules/mod_pagespeed.so : módulo mod_pagespeed para Apache.
  6. /var/cache/mod_pagespeed : Diretório de cache de arquivos para sites.

Importante: No Nginx, os arquivos de configuração do mod_pagespeed normalmente são encontrados no diretório /usr/local/nginx/conf/.

Configurando o Módulo Mod_Pagespeed

No Apache, mod_pagespeed é automaticamente ligado quando instalado, enquanto no Nginx você precisa colocar as seguintes linhas em seu arquivo nginx.conf e em cada bloco do servidor onde o PageSpeed está habilitado:

pagespeed on;

Needs to exist and be writable by nginx.  Use tmpfs for best performance.
pagespeed FileCachePath /var/ngx_pagespeed_cache;

Ensure requests for pagespeed optimized resources go to the pagespeed handler
and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
  add_header "" "";
}
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }

Por fim, não se esqueça de reiniciar o servidor Apache ou Nginx para que o mod_pagespeed funcione corretamente.

Etapa 4: verificando o módulo Mod_Pagespeed

Para verificar o módulo mod_pagespeed, usaremos o comando curl para testar no domínio ou IP, conforme mostrado:

curl -D- http://192.168.0.15/ | less
Apache
HTTP/1.1 200 OK
Date: Fri, 04 Mar 2016 07:37:57 GMT
Server: Apache/2.4.6 (CentOS) PHP/5.4.16
...
X-Mod-Pagespeed: 1.9.32.13-0
---
Nginx
HTTP/1.1 200 OK
Date: Fri, 04 Mar 2016 07:37:57 GMT
Server: nginx/1.4.0
...
X-Page-Speed: 1.5.27.1-2845
...

Se você não vir um cabeçalho X-Mod-Pagespeed, isso significa que mod_pagespeed não está realmente instalado.

Etapa 5: Ligando e Desligando o Módulo

Se você não quiser usar mod_pagespeed completamente, você pode Desligar inserindo a seguinte linha no arquivo pagespeed.conf na parte superior.

ModPagespeed off

Da mesma forma, para o módulo Ativar, insira a seguinte linha no arquivo pagespeed.conf na parte superior.

ModPagespeed on

Como eu disse acima, depois de instalar o mod_pagespeed nosso site carrega 40%-50% mais rápido. Gostaríamos muito de saber sobre a velocidade do seu site após instalá-lo em seus sistemas por meio de comentários.

Para obter mais detalhes sobre a configuração, você pode conferir a página oficial do mod_pagespeed em https://developers.google.com/speed/pagespeed/module/.