Nginx – mise en cache

Le billet suivant présente un manière simple et efficace d’optimiser un site dynamique avec la mise en cache de Nginx. Pour l’exemple il s’agira d’un site sous WordPress.

Il n’y a rien de neuf ici, c’est juste une reprise des informations que vous pouvez trouver un peu partout.

Par site dynamique, j’entends un site dont les pages sont constituées dynamiquement à partir de données en base et de scripts exécutés coté serveur (ici du php). C’est typiquement le fonctionnement de WordPress.

A l’opposé, un site statique est constitués d’un ensemble de fichiers qui sont transmis directement aux utilisateurs, comme des images ou des fichiers html/css/js/…

Comme c’est la spécialité de Nginx, servir des fichiers statiques, nous allons voir comment « transformer » notre site dynamique en site statique.
Si vous n’utilisez pas Nginx, cet article perd de son intérêt.

Le principe est simple et bien connu, on met en cache les pages générées dynamiquement.

Voici les directives importantes :

La zone de cache :

  • /run/shm est une zone montée en mémoire (ramfs) afin de limiter les accès disques
  • levels : c’est la structure des dossiers qui sera utilisée pour le cache
  • keys_zone : le nom de l’espace de cache et sa taille maximale
  • inactive : la durée de rétention d’un objet non utilisé, ici 60 minutes

La méthode de mise en cache :

Les directives suivantes permettent d’activer ou de désactiver la mise en cache :

Un exemple d’appel au cache :

La directive suivante permet de purger tout ou partie du cache sous certaines conditions :

nb : le module fastcgi_cache_purge n’est pas intégré dans la version officielle de nginx (au moins en 1.9.x), mais il l’est dans celle fourni dans par Debian ou Dotdeb (1.8.x).

Pour WordPress, vous trouverez un plugin permettant de purger intelligemment le cache en cas de création/modification du contenu : Nginx Helper

Ensuite il faut jouer avec les « location » pour mettre ou non les pages en cache.

A titre d’exemple, voici un exemple de configuration pour WordPress :

Vous pouvez bien entendu utiliser cette méthode pour tout type de site, pas seulement WordPress.

Source : rtCamp

Mémo – Linux reboot forcé

Une astuce sur laquelle je viens de tomber ici.

C’est violent mais ça marche.

Power Reset :

 Power Halt :

 Source : Le blog de Xavier …

Mémo – installer le JDK (et le jre) d’Oracle

Quelques temps après avoir racheté Sun, Oracle a changer les conditions de distribution de Java. Il n’est donc plus possible pour la plupart des distributions de proposer un paquet d’installation de la JDK d’Oracle.

Donc il n’est plus possible de le mettre à jour automatiquement. Un beau pied de nez à celles et ceux qui essayent de maintenir un peu de sécurité dans leurs environnements de production !

A ma connaissance il n’y a que 3 alternatives :

  1. ne pas utiliser java : c’est ce que je fais le plus souvent
  2. utiliser OpenJDK : GPL et 99% compatible
  3. installer manuellement le JDK d’Oracle

Récupérer JavaSE :

Sur le site d’Oracle, on récupère l’archive de JavaSE (ou la JVM selon les besoins) correspondant à la plateforme, par exemple : jdk-7-linux-x64.tar.gz

Installer le paquet :

 L’intégrer au système :

Il ne reste plus qu’à sélectionner la version de Java à utiliser par défaut.

On vérifie :