Comment installer Nginx avec Brotli Compression sur Ubuntu 20.04
Brotli est un algorithme de compression open source créé par Google. Il peut être utilisé comme alternative à Gzip, Zopfli et Deflate. Il s'agit d'un algorithme de compression sans perte à usage générique qui compresse les données en utilisant une combinaison d'une variante moderne de l'algorithme LZ77 et du codage de Huffman. Il compresse les données 10 à 20 % de plus que les algorithmes de compression actuels.
Ce tutoriel vous montrera comment installer Brotli avec Nginx sur le serveur Ubuntu 20.04.
Conditions préalables
- Un serveur exécutant Ubuntu 20.04.
- Un mot de passe root a été configuré sur le serveur.
Commencer
Tout d’abord, il est recommandé de mettre à jour vos packages système vers la dernière version. Vous pouvez tous les mettre à jour en exécutant la commande suivante :
apt-get update -y
Une fois tous les packages mis à jour, vous pouvez installer d'autres dépendances en exécutant la commande suivante :
apt-get install dpkg-dev curl gnupg2 build-essential zlib1g-dev libpcre3 libpcre3-dev unzip -y
Une fois toutes les dépendances installées, vous pouvez passer à l'étape suivante.
Téléchargez Nginx et Brotli Source
Avant de télécharger les sources Nginx et Brotli, vous devez ajouter le référentiel Nginx à votre système.
Tout d'abord, téléchargez et ajoutez la clé Nginx avec la commande suivante :
curl -L https://nginx.org/keys/nginx_signing.key | apt-key add -
Une fois la clé ajoutée, ajoutez le référentiel Nginx avec la commande suivante :
nano /etc/apt/sources.list.d/nginx.list
Ajoutez les lignes suivantes :
deb http://nginx.org/packages/ubuntu/ focal nginx
deb-src http://nginx.org/packages/ubuntu/ focal nginx
Enregistrez et fermez le fichier lorsque vous avez terminé puis mettez à jour le référentiel avec la commande suivante :
apt-get update -y
Une fois le référentiel mis à jour, changez le répertoire en /usr/local/src et téléchargez la source Nginx avec la commande suivante :
cd /usr/local/src
apt-get source nginx
Ensuite, installez toutes les dépendances requises pour Nginx avec la commande suivante :
apt-get build-dep nginx -y
Une fois toutes les dépendances installées, téléchargez la dernière version des sources Brotli depuis le référentiel Git avec la commande suivante :
git clone --recursive https://github.com/google/ngx_brotli.git
Ensuite, changez le répertoire en source Nginx et éditez le fichier de règles Debian :
cd /usr/local/src/nginx-*/
nano debian/rules
Vous obtiendrez désormais deux environnements de construction pour « config.env.nginx » et « config.env.nginx_debug ». Ajoutez l'option '--add-module=' pour ngx_brotli aux deux environnements construits.
--add-module=/usr/local/src/ngx_brotli
Enregistrez et fermez le fichier lorsque vous avez terminé. Maintenant, compilez et construisez le package nginx avec le support ngx_brotli avec la commande suivante :
dpkg-buildpackage -b -uc -us
Une fois la construction terminée, vous obtiendrez les packages nginx-*.deb dans le répertoire '/usr/local/src' comme indiqué ci-dessous.
ls -l /usr/local/src/*.deb
Vous devriez obtenir le résultat suivant :
-rw-r--r-- 1 root root 1124244 Dec 2 06:30 /usr/local/src/nginx_1.18.0-2~focal_amd64.deb
-rw-r--r-- 1 root root 10608196 Dec 2 06:30 /usr/local/src/nginx-dbg_1.18.0-2~focal_amd64.deb
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Installez Nginx et activez la prise en charge de Brotli
Vous disposez désormais de packages Nginx avec prise en charge Brotli. Vous pouvez les installer avec la commande suivante :
cd /usr/local/src/
dpkg -i *.deb
Une fois tous les packages installés, modifiez le fichier de configuration principal de Nginx et activez le support Brotli :
nano /etc/nginx/nginx.conf
Ajoutez les lignes suivantes sous http{
brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types text/plain text/css application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon image/vnd.microsoft.icon image/bmp image/svg+xml;
Enregistrez et fermez le fichier, puis vérifiez Nginx pour toute erreur de syntaxe avec la commande suivante :
nginx -t
Vous devriez obtenir le résultat suivant :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Ensuite, redémarrez le service Nginx pour appliquer les modifications :
systemctl restart nginx
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Vérifier Nginx et Brotli
À ce stade, Nginx est installé et configuré avec le support Brotli. Il est maintenant temps de tester si la prise en charge de Nginx Brotli est activée ou non.
Pour le tester, exécutez la commande suivante dans votre terminal :
curl -H 'Accept-Encoding: br' -I http://localhost
Si tout va bien, vous verrez le résultat « content-encoding: br » pour le support brotli comme indiqué ci-dessous :
HTTP/1.1 200 OK
Server: nginx/1.18.0
Date: Wed, 02 Dec 2020 06:38:17 GMT
Content-Type: text/html
Last-Modified: Tue, 21 Apr 2020 14:09:01 GMT
Connection: keep-alive
ETag: W/"5e9efe7d-264"
Content-Encoding: br
Conclusion
Toutes nos félicitations! vous avez installé avec succès Nginx avec le support Brotli sur le serveur Ubuntu 20.04. J'espère que vous pourrez désormais activer facilement la compression Brotli dans le support de production. N'hésitez pas à me demander si vous avez des questions.