Comment activer et désactiver le cache nginx

Comment activer et désactiver le cache nginx

Lorsque vous avez activé la mise en cache dans Nginx Plus, il stocke les réponses sur un disque de cache, et ceux-ci sont en outre utilisés pour répondre aux clients sans détenir une demande de proxy pour chaque fois avec le même contenu. La mise en cache de Nginx Plus a plus de capacités dans lesquelles les fonctionnalités les plus utiles, telles que la purge de cache, la mise en cache retardée et la mise en cache de contenu dynamique, sont incluses.

Dans cet article, nous en apprendre davantage sur la mise en cache, comme comment activer et désactiver la mise en cache dans un serveur Nginx sur un système Linux.

Comment permettre la mise en cache?

Dans le niveau supérieur du contexte HTTP , incluez une directive le proxy_cache_path pour permettre la mise en cache. Le premier paramètre, qui est le chemin du système de fichiers local pour le contenu mis en cache, et le paramètre keys_zone qui définit la taille et le nom de la zone de mémoire partagée, sont obligatoires. Le dernier paramètre, Keys_Zone, stocke les métadonnées des éléments mis en cache:

http

proxy_cache_path / data / nginx / cache keys_zone = one: 10m;

Vous devez inclure la directive Proxy_Cache pour définir les éléments tels que (type de protocole et emplacement ou adresse de serveur virtuel) dans le contexte HTTP. À travers lequel vous souhaitez mettre en cache les réponses du serveur, mentionnez le nom de zone, qui est défini par un paramètre le Keys_Zone à la directive proxy_cache_path (qui est une dans ce cas):

http

proxy_cache_path / data / nginx / cache keys_zone = one: 10m;
serveur
proxy_cache myCache;
emplacement /
proxy_pass http: // localhost: 8000;


Il est à noter que la quantité totale de réponse mise en cache n'est pas affectée par la taille, qui est définie dans le paramètre KEYS_ZONE. Toutes les réponses mises en cache séparément elles-mêmes sont enregistrées dans des fichiers spécifiques avec une copie des métadonnées sur votre système de fichiers. Cependant, si vous souhaitez limiter le montant total des données de réponse en cache, vous pouvez inclure le paramètre max_size à la directive dans proxy_cache_path.

Comment limiter ou désactiver la mise en cache?

Toutes les réponses restent stockées dans le cache indéfiniment. Ces réponses ne sont supprimées que lorsqu'il dépasse la taille maximale définie et le temps de longueur depuis la dernière demande. Mais, vous pouvez définir en fonction de vos moyens de commodité pour le temps que ces réponses en cache sont considérées comme valides ou même si elles sont utilisées par différentes directives du serveur , http ou dans le contexte de l'emplacement . Cependant, pour limiter les réponses en cache considérées comme valides, vous devez inclure une directive avec le nom proxy_cache_valid.

Définissons le concept limitant le cache avec un exemple. Dans l'exemple ci-dessous, les réponses de code 200 ou 302 sont considérées comme valides pendant 10 minutes, et 404 réponses sont valables jusqu'à 1 minute.

proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;

Ainsi, vous pouvez également définir la validité des réponses en cache du temps avec tous les codes d'état pour définir un paramètre «n'importe quel» que vous pouvez également voir dans la ligne de code ci-dessous:

proxy_cache_valid tout 5m;

Il existe un ensemble de conditions dans lesquels Nginx n'envoie pas de réponses mises en cache aux clients, donc incluez une directive proxy_cache_bypass. Chaque paramètre dans l'exemple ci-dessous définit les conditions et possède un certain nombre de variables. Si au moins un paramètre n'est pas égal à zéro '0' ou non vide, Nginx ne trouve pas la réponse dans le cache et demande immédiatement vers le serveur backend.

proxy_cache_bypass $ cookie_nocache $ arg_nocache $ arg_comment;

Dans la condition où vous voulez que Nginx ne cache pas de réponse. Ensuite, vous inclurez la directive proxy_no_cache et définira tous les paramètres suivants:

proxy_no_cache $ http_pragma $ http_authorization;

Conclusion

La mise en cache fournit plus de fonctionnalités dans un serveur Nginx. Nous avons également exploré dans cet article comment nous pouvons activer ou désactiver la mise en cache, y compris toutes les directives et paramètres. Pour en explorer plus, vous pouvez obtenir plus d'aide à partir des ressources en ligne. J'espère que l'article de mise en cache ci-dessus sera informatif pour vous.