发布于2026-07-03 阅读(0)
扫一扫,手机访问
通过Nginx配置缓存策略,算得上是提升网站性能最直接、也最有效的办法之一。说到底,就是让Nginx把后端返回的静态资源或者动态响应先存一份,下次再有同样的请求来,直接拿缓存发回去,省得每次都往后端跑。下面这套配置步骤,基本能覆盖绝大多数常见场景。

这个没什么好说的——先确认机器上已经装好了Nginx。如果还没装,去官方文档按系统版本走一遍安装流程就行。
缓存文件总要有个地方放。通常习惯放在 /var/cache/nginx 下,当然你也可以按需改路径。创建目录并给Nginx用户赋予权限:
sudo mkdir -p /var/cache/nginx
sudo chown -R www-data:www-data /var/cache/nginx接下来修改Nginx的主配置文件(比如 /etc/nginx/nginx.conf 或者站点配置文件 /etc/nginx/sites-a vailable/default)。核心是在 http 块里定义缓存路径,然后在 server 块的 location 里启用它。一个最小可用的配置长这样:
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;
}
}
}这几个参数挺关键,简单拆开说说:
proxy_cache_path:定义缓存存放的路径及相关策略。
levels=1:2:缓存目录的层级结构,用来分散文件,防止单个目录文件过多。keys_zone=my_cache:10m:给缓存区域取个名字(这里叫 my_cache),并分配10MB共享内存来存储缓存键和元数据。max_size=1g:缓存文件总大小上限,超过这个值会按淘汰策略清理旧缓存。inactive=60m:如果一个缓存项在60分钟内没有被访问,就会从缓存中移除。use_temp_path=off:关闭临时路径,让缓存文件直接写入目标目录,减少磁盘I/O。proxy_cache:在具体的 location 里启用缓存,并指定使用上面定义的 my_cache 区域。
proxy_pass:上游后端服务器的地址,比如 http://127.0.0.1:8080。
proxy_cache_valid:针对不同HTTP状态码设定不同的缓存有效期。比如200和302响应缓存10分钟,404只缓存1分钟。
add_header X-Proxy-Cache:在响应头里加一个自定义字段,值为 $upstream_cache_status,方便调试时确认当前请求是命中缓存(HIT)还是未命中(MISS)。
改完配置建议先跑个语法检查,避免手滑导致Nginx启动失败:
sudo nginx -t输出 syntax is ok 就说明没问题。之后重载Nginx让配置生效:
sudo systemctl reload nginx打开浏览器或者用curl访问网站,同时注意响应头里的 X-Proxy-Cache 字段。第一次请求看到 MISS,第二次就是 HIT——说明缓存已经正常工作了。
上面的配置只是一个起点。实际生产环境中,可以根据业务需求做很多细化的调整:
proxy_cache_key),按用户、参数、cookie等维度控制缓存粒度。做透这一层,网站的响应速度会有一个非常明显的提升。关键在于根据实际流量和内容特性,找到缓存空间、有效期和命中率之间的平衡点。
下一篇:Nginx如何配置静态资源服务
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8