Nginx设置proxy_cache缓存

本文介绍如何在Nginx中配置proxy_cache功能,包括设置内存缓存与硬盘缓存,以及如何通过重启Nginx使配置生效。此外,还提供了检查缓存是否成功的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nginx原先是没有proxy_cache功能的,貌似从0.8.x版本以后就加入了这个类似Squid缓存的功能,Proxy_cache是吧URL当作Key,用md5编码哈希后保存在磁盘上,支持任意的URL,也支持非200状态码,如404/302等。这个功能已经可以取代Squid,特别是性能上,Nginx对多核CPU的利用就比Squid强很多。

在nginx.conf里的http块加入以下代码

#proxy_temp_path和proxy_cache_path指定的路径必须在同一分区

proxy_temp_path   /tmp/proxy_temp_dir;

#设置名称为nginx_cache,内存缓存空间大小为500MB,30天没有被访问的内容自动清除,硬盘缓存空间大小为30GB。

proxy_cache_path  /tmp/proxy_cache_dir  levels=1:2   keys_zone=nginx_cache:200m inactive=3d max_size=30g;

在server加入以下代码

 

location / {

        proxy_cache nginx_cache;

        proxy_cache_key $host$uri$is_args$args;

        proxy_set_header Host  $host;

        proxy_set_header X-Forwarded-For  $remote_addr;

        expires  30d;

}

重启Ngnix

/usr/local/nginx/sbin/nginx -s reload

OK,随便运行几个网页,然后到 /tmp/proxy_temp_dir Or /tmp/prox_cache_dir下看看有没有产生缓存文件?如果产生一些目录,恭喜配置成功。

以上之说到把内容缓存给,但没有说到清空缓存,目前清空还只能借助第三方插件然后手动清除,当然也可以写计划任务,干感觉不太方便,这里就不细说了。


本文转自:http://www.qttc.net/201207139.html


nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)的部署记录:

http://www.cnblogs.com/kevingrace/p/5882006.html

本文转自奔跑在路上博客51CTO博客,原文链接http://blog.51cto.com/qiangsh/1977449如需转载请自行联系原作者


qianghong000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值