Forum général.général [RESOLU] - [ADMIN DEDIE] apache -> nginx : cache

Posté par  (site web personnel) .
Étiquettes : aucune
2
6
déc.
2012

Bonjour,

Je possède un serveur dédié, actuellement avec php5-fpm et le cache apache2 mod_cache. Le serveur tourne bien, mais je me disais que je n'avais pas besoin d'un gros mastodonte comme apache, et que je pouvais passer à nginx qui a une plus petite empreinte mémoire (mon serveur dédié, n'est pas très cher, je suis donc toujours un peu limite niveau mémoire).

Je sais qu'il est possible d'utiliser nginx en tant que proxy, et que dans ce cadre on peut se servir du cache. J'ai donc vu sur internet les architectures suivantes :

  • apache2 --> nginx (en tant que reverse proxy pour les fichers static et pour cache)
  • apache2|nginx --> varnish --> nginx (c'est varnish qui fait le cache)

Je n'ai pas besoin de cacher les fichiers statiques, juste les fichiers dynamiques générés par php (ou python), et dont le cache-control indique qu'il est possible de les cacher (afin d'éviter de lancer l'interpréteur pour rien). Est-il possible d'activer le cache sur nginx, sans passer par un autre serveur (donc n'avoir que nginx), juste un cache de base tout simple.

Merci d'avance.

  • # Oui

    Posté par  . Évalué à 2. Dernière modification le 06 décembre 2012 à 13:28.

    Il faut que tu utilise fastcgi_cache.

    Doc du module FastCGI :

    The cache honors backend's Cache-Control, Expires, and etc. since version 0.7.48, Cache-Control: private and no-store only since 0.7.66, though.

    Traduction libre :

    Le cache respecte les entêtes Cache-Control, Expires, etc. du backend [Note: ici php-fpm] depuis la version 0.7.48. Cache-Control: private et no-store only depuis 0.7.66, sinon.

    Ruby est le résultat d'un gamin qui apprend le Java, puis jette un œil à Perl et se dit « je peux le réparer! »

    • [^] # Re: Oui

      Posté par  . Évalué à 2. Dernière modification le 06 décembre 2012 à 13:33.

      J'ai peut être été moinssé parceque je n'ai pas été assez clair.

      Utilise l'architecture :
      php-fpm -> nginx -> web

      Imagine php-fpm écoute sur localhost:9000 . La configuration serait (pour cacher 50M dans /var/cache/nginx) :

      fastcgi_cache_path /var/cache/nginx key_zones=phpFpmCache:50M;
      server {
      fastcgi_pass localhost:9000;
      fastcgi_cache phpFpmCache;
      }

      Ruby est le résultat d'un gamin qui apprend le Java, puis jette un œil à Perl et se dit « je peux le réparer! »

    • [^] # Re: Oui

      Posté par  (site web personnel) . Évalué à 2.

      Super merci !

      C'est exactement ce que je cherche :)

      Bizarrement lors de mes recherches sur internet, je n'ai pas trouvé beaucoup d'info sur le cache au niveau de fastcgi, et je n'ai pas pensé à regarder le cache à se niveau là. (je pensais à un module plus générale).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.