温馨提示×

Nginx怎样配置缓存策略

小樊
51
2025-11-19 06:46:20
栏目: 编程语言

在Nginx中配置缓存策略可以通过设置proxy_cache_pathproxy_cache_key指令来实现。以下是一个基本的配置示例:

  1. 打开Nginx配置文件,通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/your_domain.conf

  2. http块中,使用proxy_cache_path指令定义缓存路径和参数。例如:

http {
    # 缓存路径和参数
    proxy_cache_path /tmp/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
    
    ...
}

这里的参数解释如下:

  • /tmp/nginx:缓存文件的存储路径。
  • levels=1:2:缓存目录的层级结构。
  • keys_zone=my_cache:10m:为缓存分配的内存区域名称和大小。
  • max_size=1g:缓存的最大容量。
  • inactive=60m:缓存文件在未被访问后保持的时间。
  • use_temp_path=off:是否使用临时路径存储缓存文件。
  1. serverlocation块中,使用proxy_cache指令启用缓存,并使用proxy_cache_key指令自定义缓存键。例如:
server {
    ...
    
    location / {
        # 启用缓存
        proxy_cache my_cache;
        
        # 自定义缓存键
        proxy_cache_key "$scheme$proxy_host$request_uri";
        
        # 其他代理设置
        proxy_pass http://backend_server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
    
    ...
}
  1. 保存配置文件并重启Nginx以应用更改:
sudo nginx -t      # 检查配置文件语法是否正确
sudo nginx -s reload  # 重新加载配置文件

现在,Nginx已经根据配置的缓存策略对请求进行缓存了。你可以根据实际需求调整缓存路径、大小、时间等参数。

0