在 Debian 上用 Nginx 启用缓存,通常是指反向代理缓存(proxy cache),用于缓存后端(如 PHP、Node、Java 等)的响应,加速访问。下面一步一步说明。
sudo apt update
sudo apt install nginx
先创建一个目录存放缓存文件:
sudo mkdir -p /var/cache/nginx
sudo chown -R www-data:www-data /var/cache/nginx
编辑 Nginx 配置文件,例如:
sudo nano /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 {
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 → 绕过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";
}
如果你愿意,可以告诉我:
我可以给你一套可直接用的配置。