温馨提示×

Nginx缓存怎么配置

小樊
44
2025-11-06 04:21:45
栏目: 编程语言

在Nginx中配置缓存可以显著提高网站的性能,减少后端服务器的负载。以下是一个基本的Nginx缓存配置示例:

  1. 安装Nginx和相关模块: 确保你已经安装了Nginx,并且启用了必要的模块,如ngx_cachengx_cache_purge

  2. 配置缓存路径和大小: 在Nginx配置文件中(通常是/etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf),添加或修改以下内容:

    http {
        # 缓存路径和大小
        proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
    
        server {
            listen 80;
            server_name example.com;
    
            location / {
                # 启用缓存
                proxy_cache my_cache;
                proxy_pass http://backend_server;
                proxy_cache_valid 200 302 10m;
                proxy_cache_valid 404 1m;
    
                # 缓存控制头
                add_header X-Proxy-Cache $upstream_cache_status;
    
                # 缓存清除
                location ~ /purge(/.*) {
                    allow 127.0.0.1;
                    deny all;
                    proxy_cache_purge my_cache $scheme://$host$request_uri;
                }
            }
        }
    }
    

    解释:

    • proxy_cache_path:定义缓存路径、缓存级别、缓存区名称、最大缓存大小、缓存失效时间和临时路径。
    • proxy_cache:启用缓存并指定缓存区名称。
    • proxy_cache_valid:设置不同HTTP状态码的缓存时间。
    • add_header X-Proxy-Cache:添加一个自定义头部,显示缓存状态。
    • location ~ /purge(/.*):定义一个用于清除缓存的location块。
  3. 配置缓存控制头: 你可以根据需要配置更多的缓存控制头,例如:

    proxy_cache_valid 200 301 30m;
    proxy_cache_valid 200 302 10m;
    proxy_cache_valid any 1m;
    
  4. 重启Nginx: 保存配置文件并重启Nginx以应用更改:

    sudo systemctl restart nginx
    
  5. 测试缓存: 访问你的网站并检查响应头,确认缓存是否生效。你可以使用浏览器的开发者工具或命令行工具如curl来查看响应头。

    curl -I http://example.com
    

    检查响应头中的X-Proxy-Cache字段,确认缓存状态。

通过以上步骤,你可以在Nginx中配置基本的缓存功能。根据具体需求,你可能需要进一步调整和优化缓存设置。

0