Optimiser site web sur Syno

Indice NDT

(N)iveau requis, de l’utilisateur à l’expert.
(D)ifficulté : Simple, Moyenne, Complexe.
(T)emps estimé pour la réalisation.

Utilisateur Technicien Expert
Niveau
Simple Moyenne Complexe
Difficulté
– d’une heure + de 5 heures 12 heures et +
Temps

OcM

Objectif de l’article.
Contexte de la réalisation.
Modalité de l’exécution.

Optimiser la bande passante d’un site web

Site web hébergé sur NAS Synology

Ajout de la compression GZIP pour le serveur NGINX du Virtual Host

La rapidité de consultation d’un site web est un des éléments majeur à prendre en compte. Personne n’aime attendre face à son écran...
Selon la complexité des pages construites, le nombres d’images et autres composants multimédias présents, sans parler des briques logicielles utilisées pour construire et publier les pages, la compression décompression est un élément technique avantageux dans les échanges entre le serveur et le client.

Principes


Chaque fois qu’on accède au site web, le navigateur envoie une demande GET au serveur qui répond avec le code produit. Selon la connexion xDSL, 3/4/5G cela peut prendre du temps. Chaque octet compte.

Le code HTML est un code texte et répétitif : chaque balise <div> est fermée par un </div> par exemple. Sa compression en archive zip optimise la bande passante en limitant les informations passées. La plupart des navigateurs Internet est apte à décompresser un paquet d’informations qui lui arrive. (entête Accept Encoding est envoyée au serveur).

Le format Gzip (algorithme libre de compression/décompression) est celui utilisé pour : les pages HTML, les pages de style CSS, les fichiers XML JSON etc…

NAS Synology


Par défaut cette compression sur un hôte virtuel supporté par serveur NGINX sur NAS Synology n’est pas actif.

L’ajout est simple à faire, puisque Synology nous permet d’ajouter pour chaque serveur virtuel créé, un fichier de configuration pour le serveur NGINX.

Les contraintes sont :

  1. nom de fichier du paramétrage doit commencer par user.conf
  2. l’emplacement est le dossier spécial créé lors de l’ajout de l’hôte virtuel par l’application WebStation

Démarche


  1. Créer le fichier d’optimisation
  2. Localiser l’emplacement du serveur web concerné
  3. Copier le fichier
  4. Redémarrer le serveur NGINX

1- Fichier d’optimisation


Fichier texte contenant les lignes suivantes dans lesquelles, sont optimisés les fichiers : text, html, javascript, css, xml et rss.

On peut le copier/coller dans un nouveau document de l’éditeur de texte du NAS et l’enregistrer sur le dossier web par exemple.

Rappel : il doit impérativement débuter par
user-conf.

Ici on le nomme user.conf.gzip-conf

A noter : au niveau de la compression,  plus le taux est élevé, plus il est consommateur de ressources. Un niveau de compression à 9 n’apportera pas de gain réel comparé aux ressources utilisées. (En règle générale, une valeur de 5 ou de 6 est un bon compromis)

COPIER

2 – Localiser l’emplacement


Se connecter via Terminal/ Putty sur le NAS (telnet ou ssh) avec un utilisateur appartenant au groupe administrator.
Passer en root avec cette commande

COPIER

Pour localiser l’emplacement il faut afficher les dernières lignes du fichier de configuration de WebStation.

COPIER

A noter en cas de plusieurs sites web hébergés sur le NAS il faut plutôt faire un MORE pour afficher tout le fichier de configuration et localiser pour chaque site à optimiser le dossier concerné.

Cela affiche le résultat suivant :

Ici la ligne /usr/local/etc/nginx/conf.d/5c556f71-dc68-457e-8d42-ed8428a5c2baest le dossier où les fichiers user.conf doivent prendre place.

3 – Copier le fichier


On se déplace dans le dossier localisé. (attention à adapter si copie de cette ligne)

COPIER

 

On copie le fichier enregistré précédemment (dans notre exemple le dossier web du NAS sur Volume1) dans ce répertoire.

COPIER

4 – On redémarre le serveur NGINX


Saisir la commande suivante :

COPIER

Possible alerte suivante, indiquant que certains items sont déjà pris en charge dans un autre fichier de configuration, mais ne nuit pas à l’optimisation demandée.

Vérification


Un test via un site en ligne comme ici – https://www.whatsmyip.org/http-compression-test/ ou ici https://tools.pingdom.com/

Et voilà !

En complément, un petit coup de cache


On peut ajouter ce fichier de configuration qui permet de fixer les en têtes (headers) du serveur NGINX en y imposant un cache de x jours.

A chacun de voir, sauf cas particulier pour une boutique en ligne (il vaut mieux exclure les pages concernées dans ce cas), le serveur garde en cache les fichiers spécifiés.

Dans cet exemple :

  • ico
  • jpg
  • webp
  • jpeg
  • gif
  • css
  • png
  • js
  • bmp
  • zip
  • woff

Même démarche :

  1. création du fichier
  2. enregistrement du fichier sur un dossier du NAS
  3. accès en super utilisateur au NAS via SSH
  4. repérage du dossier cible
  5. copie du fichier au bon endroit
  6. redémarrage du serveur
COPIER