Maison >Opération et maintenance >Nginx >Configuration du cache proxy inverse Nginx pour améliorer la vitesse d'accès au site Web
Configuration du cache proxy inverse Nginx pour améliorer la vitesse d'accès aux sites Web
Introduction :
À l'ère d'Internet, la vitesse d'accès aux sites Web est cruciale. Un site Web qui se charge lentement rend les utilisateurs impatients et peut entraîner un désabonnement des utilisateurs. Afin d'améliorer la vitesse d'accès au site Web, une méthode courante consiste à réduire la charge sur le serveur et à accélérer le chargement de la page en utilisant le cache proxy inverse. Cet article explique comment utiliser Nginx pour configurer le cache proxy inverse afin d'améliorer la vitesse d'accès au site Web.
1. Qu'est-ce que le cache proxy inverse Nginx ?
Nginx est un serveur proxy inverse HTTP léger qui peut transmettre les requêtes des clients au serveur d'applications principal et mettre en cache les résultats renvoyés. Lorsque la même requête arrive la prochaine fois, Nginx peut renvoyer directement les résultats dans le cache sans demander à nouveau au serveur d'applications, accélérant ainsi le chargement des pages.
2. Étapes de configuration du cache proxy inverse Nginx :
Configurer Nginx
Ouvrez le fichier de configuration Nginx et ajoutez le segment de code suivant dans le bloc serveur :
proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;
La directive proxy_cache_path
ici est utilisée pour configurer le chemin et la capacité du cache. path/to/cache
est le chemin de stockage du cache, my_cache
est le nom de la zone de cache, 10m
spécifie la taille de la zone de cache, 10g
signifie que la capacité maximale de l'ensemble du cache est de 10 Go, et inactive=60m
signifie que le contenu mis en cache expirera s'il n'est pas consulté dans les 60 minutes. proxy_cache_path
指令用于配置缓存的路径和容量。path/to/cache
是缓存的存储路径,my_cache
是缓存区的名称,10m
指定了缓存区的大小,10g
表示整个缓存的最大容量为10GB,inactive=60m
表示缓存的内容在60分钟内没有被访问就过期。
在location块中添加如下代码段:
proxy_cache my_cache; proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m;
这里的proxy_cache
指令用于启用缓存功能,proxy_cache_valid
指令用于设置缓存的有效时间。上面的示例中,对于HTTP状态码为200和302的响应,缓存有效时间为10分钟;对于HTTP状态码为404的响应,缓存有效时间为1分钟。
配置缓存规则
除了配置缓存路径和缓存有效时间,我们还可以设置一些缓存规则,以决定哪些请求需要被缓存。在location块中添加如下代码段:
proxy_cache_key $host$uri$is_args$args; proxy_cache_bypass $http_cache_control; proxy_no_cache $http_pragma $http_authorization;
上面的示例中,proxy_cache_key
用于设置缓存的key,这里使用了请求的host、uri和参数作为key。proxy_cache_bypass
用于绕过缓存,这里通过检查HTTP请求头中的Cache-Control
字段实现了此功能。proxy_no_cache
用于设置完全禁用缓存的条件,这里通过检查HTTP请求头中的Pragma
和Authorization
sudo service nginx restart
proxy_cache
ici est utilisée pour activer la fonction de cache, et la directive proxy_cache_valid
est utilisée pour définir la durée de validité du cache. Dans l'exemple ci-dessus, pour les réponses avec les codes d'état HTTP 200 et 302, la durée de validité du cache est de 10 minutes ; pour les réponses avec le code d'état HTTP 404, la durée de validité du cache est de 1 minute.
En plus de configurer le chemin du cache et la durée de validité du cache, nous pouvons également définir certaines règles de mise en cache pour déterminer quelles requêtes doivent être mises en cache. Ajoutez le segment de code suivant dans le bloc d'emplacement :
rrreee
proxy_cache_key
est utilisé pour définir la clé de cache. Ici, l'hôte, l'uri et les paramètres demandés sont utilisés comme clé. proxy_cache_bypass
est utilisé pour contourner le cache. Cette fonction est implémentée en vérifiant le champ Cache-Control
dans l'en-tête de la requête HTTP. proxy_no_cache
est utilisé pour définir les conditions de désactivation complète de la mise en cache. Cette fonction est implémentée ici en vérifiant les champs Pragma
et Authorization
dans l'en-tête de la requête HTTP. .
Redémarrez Nginx
rrreee
Conclusion :
La fonction de mise en cache du proxy inverse de Nginx peut accélérer efficacement l'accès aux sites Web. En configurant le cache proxy inverse Nginx, nous pouvons réduire la charge de requêtes sur le serveur backend et améliorer l'expérience d'accès de l'utilisateur. Cependant, il est crucial de configurer correctement les règles de mise en cache pour garantir le temps réel et la cohérence du contenu mis en cache. 🎜🎜Références : 🎜🎜🎜Documentation Nginx (https://nginx.org/en/docs/)🎜🎜Optimisation de Nginx pour les performances (https://www.nginx.com/blog/tuning-nginx/) 🎜 🎜🎜Grâce aux étapes ci-dessus, vous pouvez utiliser la configuration du cache proxy inverse de Nginx pour améliorer la vitesse d'accès au site Web. J'espère que ça aide. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!