温馨提示×

nginx在debian如何启用缓存

小樊
40
2026-10-09 11:24:18
栏目: 智能运维

在 Debian 上通过 nginx 启用缓存,通常是指反向代理缓存(proxy cache)。下面按步骤说明。


一、安装 nginx(如未安装)

sudo apt update
sudo apt install nginx

二、配置缓存目录

编辑或新建配置文件(推荐放在 /etc/nginx/conf.d/):

sudo mkdir -p /var/cache/nginx
sudo chown -R www-data:www-data /var/cache/nginx

三、定义缓存区(http 层)

编辑 /etc/nginx/nginx.conf 或新建 /etc/nginx/conf.d/cache.conf:

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

参数说明:

  • keys_zone=my_cache:10m:缓存名和内存大小
  • max_size=1g:磁盘最大缓存
  • inactive=60m:60 分钟未访问则删除
  • levels=1:2:目录结构

四、在 server 或 location 中启用缓存

示例(反向代理):

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_cache my_cache;

        proxy_cache_valid 200 302 10m;
        proxy_cache_valid 404 1m;

        add_header X-Cache-Status $upstream_cache_status;
    }
}

X-Cache-Status 可用于调试:

  • HIT:命中缓存
  • MISS:未命中
  • BYPASS:绕过

五、缓存控制(可选)

1️⃣ 忽略后端 Cache-Control

proxy_ignore_headers Cache-Control Set-Cookie;

2️⃣ 指定缓存 key

proxy_cache_key "$scheme$request_method$host$request_uri";

六、测试并重启 nginx

sudo nginx -t
sudo systemctl restart nginx

七、清除缓存(手动)

sudo rm -rf /var/cache/nginx/*

或使用 proxy_cache_purge(需 nginx-plus 或第三方模块)。


如果你是指:

  • 浏览器缓存
  • FastCGI 缓存(PHP)
  • 静态文件缓存

可以告诉我,我可以给对应配置示例。

0 踩