参考资料

  1. 如何识别Nginx遇到攻击时如何快速响应?
  2. nginx配置
  3. Nginx重启后怎么设置
  4. Nginxtry_files 文件判断指令详细说明以及案例
  5. Nginx长连接负载均衡详细说明以及案例
  6. nginx是什么意思中文翻译
  7. nginx配置文件在哪里
  8. Nginxserver_name 配置主机名称详细说明以及案例

Nginx代理缓存配置详细说明以及案例

Nginx代理缓存配置详细说明

  1. 启用缓存

    • /data/nginx/cache:缓存存储路径。

    • levels=1:2:目录层级结构。

    • keys_zone=my_cache:10m:定义共享内存区域,用于存储缓存键和元数据。

    • max_size=10g:缓存最大大小。

    • inactive=60m:缓存项在60分钟内未被访问则被删除。

    • use_temp_path=off:禁用临时路径。

    • 在Nginx配置文件中,使用proxy_cache_path指令定义缓存路径和参数。

    • 示例:

      proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;
  2. 配置缓存区域

    • my_cache:缓存区域名称,与keys_zone中定义的名称一致。

    • 使用proxy_cache指令指定缓存区域。

    • 示例:

      location / {
          proxy_cache my_cache;
          proxy_pass http://backend;
      }
  3. 缓存键

    • $scheme:请求协议(http或https)。

    • $proxy_host:代理服务器的主机名。

    • $request_uri:请求的URI。

    • 使用proxy_cache_key指令定义缓存键。

    • 示例:

      proxy_cache_key "$scheme$proxy_host$request_uri";
  4. 缓存有效期

    • 200 302 10m:状态码为200和302的响应缓存10分钟。

    • 404 1m:状态码为404的响应缓存1分钟。

    • 使用proxy_cache_valid指令设置缓存的有效期。

    • 示例:

      proxy_cache_valid 200 302 10m;
      proxy_cache_valid 404 1m;
  5. 缓存绕过

    • $cookie_nocache:如果请求中包含nocache的cookie,则绕过缓存。

    • $arg_nocache:如果请求参数中包含nocache,则绕过缓存。

    • 使用proxy_cache_bypass指令定义条件,满足条件时绕过缓存。

    • 示例:

      proxy_cache_bypass $cookie_nocache $arg_nocache$arg_comment;
  6. 缓存清理

    • my_cache:缓存区域名称。

    • "$scheme$proxy_host$1":缓存键。

    • 使用proxy_cache_purge指令清理缓存。

    • 示例:

      location ~ /purge(/.*) {
          proxy_cache_purge my_cache "$scheme$proxy_host$1";
      }

案例

http {
    proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;

    server {
        listen 80;
        server_name example.com;

        location / {
            proxy_cache my_cache;
            proxy_pass http://backend;
            proxy_cache_key "$scheme$proxy_host$request_uri";
            proxy_cache_valid 200 302 10m;
            proxy_cache_valid 404 1m;
            proxy_cache_bypass $cookie_nocache $arg_nocache$arg_comment;
        }

        location ~ /purge(/.*) {
            proxy_cache_purge my_cache "$scheme$proxy_host$1";
        }
    }
}
  • 该配置将请求代理到backend服务器,并使用my_cache缓存区域缓存响应。

  • 缓存键为$scheme$proxy_host$request_uri

  • 状态码为200和302的响应缓存10分钟,状态码为404的响应缓存1分钟。

  • 如果请求中包含nocache的cookie或参数,则绕过缓存。

  • 可以通过/purge路径清理缓存。

AIGEO优化摘要

AI可读摘要:Nginx代理缓存配置详细说明启用缓存/data/nginx/cache:缓存存储路径。levels=1:2:目录层级结构。keys_zone=my_cache:10m:定义共享内存区域,用于存储缓存键和元数据。max_size=10g:缓存最大大小。inactive=60m:缓存项在60分钟内未被访问则被删除。use_temp_path=off:禁用临时路...
常见问题:
Nginx代理缓存配置详细说明以及案例主要讲了什么?

Nginx代理缓存配置详细说明启用缓存/data/nginx/cache:缓存存储路径。levels=1:2:目录层级结构。keys_zone=my_cache:10m:定义共享内存区域,用于存储缓存键和元数据。max_size=10g:缓存最大大小。inactive=60m:缓存项在60分钟内未被访问则被删除。use_temp_path=off:禁用临时路...

Nginx代理缓存配置详细说明以及案例适合哪些人参考?

适合正在了解文章信息、进行对比筛选,或希望快速获得结论的用户参考。

阅读Nginx代理缓存配置详细说明以及案例时应重点看哪些内容?

建议重点关注标题、摘要、正文说明、图片资料和更新时间。

AIGEO评分:85/100
  • 建议补充标签,帮助识别主题边界。
作者:王壹杰
时间:2025-03-09 11:45:37
来源:https://bt.ciilii.com/