Comment implémenter la configuration du cache proxy inverse Nginx
Nginx est un serveur Web et un serveur proxy inverse hautes performances qui peuvent être configurés pour implémenter un cache proxy inverse afin d'améliorer les performances du site Web et l'expérience utilisateur. Cet article présentera en détail comment configurer le cache proxy inverse de Nginx et fournira des exemples de code spécifiques.
Tout d'abord, vous devez activer la fonction de mise en cache dans le fichier de configuration de Nginx. Ouvrez le fichier de configuration Nginx (généralement situé dans /etc/nginx/nginx.conf), recherchez le bloc http et ajoutez le code suivant :
http { ... proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off; ... }
Dans le code ci-dessus, /path/to/cache</code > est le cache Nginx. Le chemin de sauvegarde du fichier doit être modifié en fonction de la situation réelle du serveur lors de l'utilisation réelle. <code>keys_zone=my_cache:10m
consiste à définir le nom et l'espace disponible de la zone de cache, qui peuvent être modifiés en fonction des besoins réels. max_size=10g
est la capacité maximale du fichier cache, qui peut être ajustée en fonction de l'espace disque du serveur. inactive=60m
sert à définir le délai d'expiration des fichiers mis en cache. Passé ce délai, ils seront supprimés. use_temp_path=off
consiste à désactiver le chemin de stockage des fichiers temporaires. /path/to/cache
是Nginx缓存文件保存的路径,在实际使用时需要根据服务器的实际情况进行修改。keys_zone=my_cache:10m
是设置缓存区的名称和可用空间大小,可以根据实际需求进行修改。max_size=10g
是设置缓存文件的最大容量,可以根据服务器的磁盘空间进行调整。inactive=60m
是设置缓存文件的过期时间,超过该时间将被删除。use_temp_path=off
是禁用临时文件存储路径。
接下来,需要在Nginx的配置文件中配置反向代理和缓存的具体规则。在server块中添加以下代码:
server { ... location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_cache my_cache; proxy_cache_valid 200 301 302 404 1h; proxy_cache_use_stale updating; proxy_cache_background_update on; } ... }
上述代码中,proxy_pass http://backend
将请求转发给后端服务器。proxy_set_header Host $host
用于传递请求的域名或IP地址。proxy_cache my_cache
指定使用的缓存区名称。proxy_cache_valid 200 301 302 404 1h
设置缓存的有效期,200、301、302和404是对应的HTTP状态码,1h表示一小时。proxy_cache_use_stale updating
配置更新缓存时使用过期数据。proxy_cache_background_update on
启用后台更新缓存。
如果需要对特定的URL进行缓存或不缓存,可以添加更多的配置规则。以下是一些常用的示例代码:
location /static { proxy_pass http://backend; proxy_set_header Host $host; proxy_cache my_cache; proxy_cache_valid 200 301 302 404 7d; proxy_cache_use_stale updating; proxy_cache_background_update on; } location /no-cache { proxy_pass http://backend; proxy_set_header Host $host; proxy_cache off; }
上述代码中,/static
表示需要缓存的URL路径,7d
表示缓存有效期为7天。/no-cache
表示不需要缓存的URL路径,proxy_cache off
禁用缓存。
完成以上配置后,需要重新启动Nginx服务器,使配置生效。在命令行中执行以下命令:
sudo service nginx restart
可以使用浏览器访问网站,并在响应头中查看是否存在缓存相关的字段。可以通过在开发者工具中查看Network tab或使用curl命令进行验证。
curl -I http://your-website.com
在响应头中,可以查看Cache-Control
、Last-Modified
、X-Cache
和X-Cache-Status
Ensuite, vous devez configurer les règles spécifiques du proxy inverse et du cache dans le fichier de configuration Nginx. Ajoutez le code suivant dans le bloc serveur :
rrreee🎜Dans le code ci-dessus,proxy_pass http://backend
transmet la requête au serveur backend. proxy_set_header Host $host
est utilisé pour transmettre le nom de domaine ou l'adresse IP demandée. proxy_cache my_cache
précise le nom de la zone de cache utilisée. proxy_cache_valid 200 301 302 404 1h
Définissez la période de validité du cache 200, 301, 302 et 404 sont les codes d'état HTTP correspondants, 1h signifie une heure. proxy_cache_use_stale mise à jour
Configurer l'utilisation des données expirées lors de la mise à jour du cache. proxy_cache_background_update on
Active le cache de mise à jour en arrière-plan. 🎜/static
indique le chemin de l'URL qui doit être mis en cache, et 7d
indique que la validité du cache le délai est de 7 jours. /no-cache
indique un chemin d'URL qui n'a pas besoin d'être mis en cache. proxy_cache off
désactive la mise en cache. 🎜Cache-Control
, Last-Modified
, X-Cache
et X-Cache - Statut
et autres champs pour vérifier si la configuration du cache proxy inverse est efficace. 🎜🎜Résumé🎜🎜Cet article présente comment implémenter la configuration du cache proxy inverse de Nginx. En configurant la fonction de mise en cache de Nginx, les performances et l'expérience utilisateur du site Web peuvent être considérablement améliorées. Il convient de noter que les règles de configuration spécifiques doivent être ajustées en fonction de la situation réelle du serveur pour garantir l'applicabilité et la stabilité de la configuration du cache. 🎜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!