温馨提示×

debian nginx怎样启用缓存

小樊
48
2026-10-15 07:10:51
栏目: 智能运维

在 Debian 上用 Nginx 启用缓存,通常是指反向代理缓存(proxy cache),用于缓存后端(如 PHP、Node、Java 等)的响应,加速访问。下面一步一步说明。


一、安装 Nginx(如已安装可跳过)

sudo apt update
sudo apt install nginx

二、配置缓存目录

先创建一个目录存放缓存文件:

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

三、配置 Nginx 缓存(核心步骤)

编辑 Nginx 配置文件,例如:

sudo nano /etc/nginx/conf.d/cache.conf

1️⃣ 定义缓存区(http 层)

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:目录层级

2️⃣ 在 server 或 location 中启用缓存

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;

        proxy_cache my_cache;
        proxy_cache_valid 200 302 10m;
        proxy_cache_valid 404 1m;

        add_header X-Cache $upstream_cache_status;
    }
}

✅ X-Cache 头可用于调试:

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

四、重载 Nginx

sudo nginx -t
sudo systemctl reload nginx

五、测试缓存是否生效

curl -I http://example.com

多次访问,查看 X-Cache 头变化。


六、常见优化 & 注意事项

✅ 不缓存某些内容(如登录用户)

proxy_cache_bypass $cookie_session;
proxy_no_cache $cookie_session;

✅ 缓存静态文件(可选)

location ~* \.(jpg|css|js|png)$ {
    expires 30d;
    access_log off;
}

✅ 清除缓存

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

七、如果你指的是「浏览器缓存」

那是前端配置,不是 Nginx 缓存:

location / {
    expires 7d;
    add_header Cache-Control "public";
}

如果你愿意,可以告诉我:

  • 你是 代理后端 还是 纯静态网站
  • 用的是 Debian 几
  • 是否配合 PHP / WordPress / Docker

我可以给你一套可直接用的配置。

0 踩