温馨提示×

Debian Nginx缓存策略设置

小樊
69
2025-03-22 01:37:45
栏目: 智能运维

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

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

或者

sudo nano /etc/nginx/sites-available/your_domain.conf
  1. http块中,添加或修改proxy_cache_path指令以定义缓存路径和参数。例如:
http {
    # ...

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

    # ...
}

这里的参数解释如下:

  • /var/cache/nginx:缓存文件的存储路径。
  • levels=1:2:缓存目录的层级结构。
  • keys_zone=my_cache:10m:定义一个名为my_cache的缓存区域,大小为10MB。
  • max_size=1g:缓存的最大总大小为1GB。
  • inactive=60m:如果在60分钟内没有被访问,缓存文件将被删除。
  • use_temp_path=off:禁用临时文件路径。
  1. serverlocation块中,添加proxy_cache指令以启用缓存,并使用proxy_cache_key自定义缓存键。例如:
server {
    # ...

    location / {
        proxy_pass http://your_backend_server;
        proxy_cache my_cache;
        proxy_cache_key "$scheme$proxy_host$request_uri";
        proxy_cache_valid 200 302 10m;
        proxy_cache_valid 404 1m;
        add_header X-Proxy-Cache $upstream_cache_status;
    }

    # ...
}

这里的参数解释如下:

  • proxy_cache my_cache:启用名为my_cache的缓存区域。
  • proxy_cache_key "$scheme$proxy_host$request_uri":自定义缓存键,包括协议、主机名和请求URI。
  • proxy_cache_valid 200 302 10m:对于200和302状态码的响应,缓存10分钟。
  • proxy_cache_valid 404 1m:对于404状态码的响应,缓存1分钟。
  • add_header X-Proxy-Cache $upstream_cache_status:在响应头中添加X-Proxy-Cache,显示缓存状态(HIT、MISS等)。
  1. 保存更改并退出编辑器。

  2. 测试Nginx配置是否正确:

sudo nginx -t
  1. 如果配置正确,重新加载Nginx以应用更改:
sudo systemctl reload nginx

现在,Nginx将根据配置的缓存策略缓存来自后端服务器的响应。请注意,这只是一个基本的配置示例,您可以根据实际需求进行调整。

0