Como configurar o módulo Google PageSpeed no Nginx no Ubuntu 20.04
A velocidade de carregamento das páginas do site afeta a experiência do usuário e a posição do site nos resultados dos mecanismos de pesquisa. Para analisar e acelerar o carregamento do conteúdo, existe um módulo do Google PageSpeed. Neste tutorial, configuraremos o módulo Google PageSpeed no Nginx no Ubuntu 20.04.
Preparação para instalar o módulo do Google PageSpeed
Primeiro, você deve ter o servidor da Web Nginx instalado. Se você não o tiver por algum motivo, poderá instalá-lo usando o seguinte comando:
apt install nginx
Você também precisa do pacote curl para baixar o script de instalação e as bibliotecas SSL.
apt install curl libssl-dev
Verifique qual versão do Nginx e dos módulos está instalada.
nginx -V
Saída:
nginx version: nginx/1.18.0 (Ubuntu)
built with OpenSSL 1.1.1f 31 Mar 2020
TLS SNI support enabled
configure arguments:
...
É melhor especificar a mesma versão no comando a seguir para minimizar o risco ao reconstruir o Nginx. Aqui você pode ver quais módulos estão instalados agora e adicionar os necessários durante o processo de instalação.
Instalando o módulo Google PageSpeed
No caso do Nginx, o módulo PageSpeed deve ser criado a partir da fonte. Além disso, todas as dependências devem ser instaladas. Para simplificar todos esses processos, os desenvolvedores sugerem o uso de um script de instalação que fará tudo isso. No entanto, é melhor testar a operação de sites com esse módulo depois de reconstruir o Nginx em um servidor de teste e só então instalá-lo em um servidor de produção. Use o seguinte comando para reconstruir o Nginx com o módulo Google PageSpeed. Especifique a versão do Nginx instalada no sistema no parâmetro --nginx-version.
bash <(curl -f -L -sS https://ngxpagespeed.com/install)
--nginx-version 1.18.0
Para ver todas as opções de instalação, execute:
bash <(curl -f -L -sS https://ngxpagespeed.com/install) --help
Durante a instalação, todas as perguntas devem ser respondidas positivamente. Após a próxima solicitação, você pode informar quais outros módulos precisam ser incluídos na montagem.
About to build nginx. Do you have any additional ./configure
arguments you would like to set? For example, if you would like
to build nginx with https support give --with-http_ssl_module
If you don't have any, just press enter.
>
O conjunto padrão de parâmetros é mostrado abaixo. Vale a pena usá-lo para uma instalação básica ou para adicionar os módulos necessários a ele.
--prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-compat --with-stream=dynamic --with-stream_ssl_module --with-mail=dynamic --with-mail_ssl_module --with-http_ssl_module --with-http_v2_module
Quando a instalação estiver concluída, crie o seguinte link simbólico.
ln -s /usr/lib/nginx/modules /etc/nginx/modules
Para verificar se a instalação foi bem-sucedida, digite:
nginx -V
Você verá o módulo Google PageSpeed em primeiro lugar entre os argumentos de configuração:
...
configure arguments: --add-module=/root/incubator-pagespeed-ngx-latest-stable ...
Ativando o módulo Google PageSpeed
Agora você precisa ativar o módulo em todos os hosts virtuais do servidor. Vamos mostrar esse processo usando um padrão como exemplo. Abra a configuração do host virtual:
nano /etc/nginx/sites-available/default
Adicione estas linhas à seção server:
server {
…
pagespeed on;
pagespeed FileCachePath "/var/cache/ngx_pagespeed/";
pagespeed RewriteLevel OptimizeForBandwidth;
location ~ ".pagespeed.([a-z].)?[a-z]{2}.[^.]{10}.[^.]+" {
add_header "" "";
}
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
…
}
Verifique se há erros na configuração:
nginx -t
Se você ainda não tiver um site nesse servidor, precisará criar uma página de índice para o host padrão com conteúdo arbitrário.
echo "Hallo, Linux!" > /var/www/html/index.html
Agora, reinicie o Nginx.
[/passo]
service nginx restart
Testando o módulo Google PageSpeed
A maneira mais fácil de verificar se o módulo do Google PageSpeed está funcionando é acessar nosso site usando curl:
curl -I -p http://web-server-IP-or-domain-name
Saída:
HTTP/1.1 200 OK
Server: nginx/1.18.0
Content-Type: text/html
Connection: keep-alive
Date: Wed, 13 Jan 2021 13:13:05 GMT
X-Page-Speed: 1.13.35.2-0
Cache-Control: max-age=0, no-cache
A entrada X-Page-Speed indica que o módulo Google PageSpeed está em execução e mostra sua versão.


