Comment configurer le module Google PageSpeed dans Nginx on Ubuntu 20.04
La vitesse de chargement des pages du site Web affecte l'expérience utilisateur et la position du site dans les résultats des moteurs de recherche. Pour analyser et accélérer le chargement du contenu, il existe un module Google PageSpeed. Dans ce tutoriel, nous allons configurer le module Google PageSpeed dans Nginx on Ubuntu 20.04.
Dans le Serverspace vous pouvez créer un serveur avec l'application déjà installée "Nginx".
Préparation de l'installation du module Google PageSpeed
Tout d'abord, vous devez avoir le Nginx serveur Web installé. Si vous ne l'avez pas pour une raison quelconque, vous pouvez l'installer à l'aide de la commande suivante :
apt install nginx
Vous avez également besoin du package curl pour télécharger le script d'installation et les bibliothèques SSL.
apt install curl libssl-dev
Vérifiez quelle version de Nginx et les modules sont installés.
nginx -V
Sortie :
nginx version: nginx/1.18.0 (Ubuntu)
built with OpenSSL 1.1.1f 31 Mar 2020
TLS SNI support enabled
configure arguments:
...
La même version est mieux spécifiée dans la commande suivante pour minimiser le risque lors de la reconstruction Nginx. Ici, vous pouvez voir quels modules sont installés maintenant et ajouter ceux qui sont nécessaires pendant le processus d'installation.
Installation du module Google PageSpeed
Dans le cas d' Nginx, le module PageSpeed doit être construit à partir de la source. De plus, toutes les dépendances doivent être installées. Pour simplifier tous ces processus, les développeurs suggèrent d'utiliser un script d'installation qui fera tout cela. Néanmoins, il est préférable de tester le fonctionnement des sites avec ce module après reconstruction Nginx sur un serveur de test et seulement ensuite l'installer sur un serveur de production. Utilisez la commande suivante pour reconstruire Nginx avec le module Google PageSpeed. Spécifie le Nginx version installée sur le système dans le --nginx-version parameter.
bash <(curl -f -L -sS https://ngxpagespeed.com/install) \
--nginx-version 1.18.0
Pour voir toutes les options d'installation, exécutez :
bash <(curl -f -L -sS https://ngxpagespeed.com/install) --help
Lors de l'installation, toutes les questions doivent recevoir une réponse positive. Après la prochaine demande, vous pouvez entrer quels autres modules doivent être inclus dans l'assemblage.
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.
>
L'ensemble de pa par défautrameters est illustré ci-dessous. Cela vaut la peine de l'utiliser pour une installation de base ou d'y ajouter les modules dont vous avez besoin.
--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
Une fois l'installation terminée, créez le lien symbolique suivant.
ln -s /usr/lib/nginx/modules /etc/nginx/modules
Pour vérifier que l'installation a réussi, entrez :
nginx -V
Vous verrez le module Google PageSpeed en premier parmi les arguments de configuration :
...
configure arguments: --add-module=/root/incubator-pagespeed-ngx-latest-stable ...
Activation du module Google PageSpeed
Vous devez maintenant activer le module dans chaque hôte virtuel du serveur. Montrons ce processus en utilisant un exemple par défaut. Ouvrez la configuration de l'hôte virtuel :
nano /etc/nginx/sites-available/default
Ajoutez ces lignes au serveur section:
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$" { }
…
}
Vérifiez la configuration pour les erreurs :
nginx -t
Si vous n'avez pas encore de site Web sur ce serveur, vous devez créer une page d'index pour l'hôte par défaut avec un contenu arbitraire.
echo "Hallo, Linux!" > /var/www/html/index.html
Maintenant, redémarrez Nginx.
service nginx restart
Test du module Google PageSpeed
Le moyen le plus simple de s'assurer que le module Google PageSpeed fonctionne est d'accéder à notre site Web en utilisant boucle:
curl -I -p http://web-server-IP-or-domain-name
Sortie :
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