`

Nginx设置proxy_cache缓存

 
阅读更多
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下看看有没有产生缓存文件?如果产生一些目录,恭喜配置成功。
以上之说到把内容缓存给,但没有说到清空缓存,目前清空还只能借助第三方插件然后手动清除,当然也可以写计划任务,干感觉不太方便,这里就不细说了。
分享到:
评论

相关推荐

    Nginx启用proxy_cache缓存的方法

    - keys_zone=proxycache:60m:定义一块共享内存区域,名称为proxycache,大小为60MB,用于存放缓存的key和元数据。 - max_size=120m:设置缓存的最大空间大小,超过这个大小后,会根据LRU(最近最少使用)算法删除最...

    nginx缓存清除插件ngx_cache_purge.zip

    ngx_cache_purge 是 nginx 模块,此模块可以清理 nginx 的 FastCGI、proxy、 SCGI 和 uWSGI 的缓存。配置指令(相同位置语法)fastcgi_cache_purgesyntax: fastcgi_cache_purge on|off|<method> [from all|<ip> [.....

    nginx_cache_purge.zip

    在这个配置中,我们定义了一个名为`my_cache`的缓存区域,并设置了一个专门用于清除缓存的Location `/purge`,只有特定的IP才能访问该URL来清除缓存。 通过这样的配置,当需要更新特定资源时,可以通过发送一个请求...

    nginx系列(十)nginx缓存代理proxy_cacahe和CDN实现的原理

    总结来说,本文可能会涵盖Nginx的proxy_cache缓存机制,CDN的基本原理,以及如何通过配置nginx.conf文件来实现这两项功能。同时,可能会提及源码分析和优化策略,帮助读者更好地理解和利用Nginx提升网站性能。

    nginx静态文件缓存的解决方案1

    这里,`proxy_cache_path` 指定了缓存存储的路径,`levels` 参数定义了缓存目录的层级,`keys_zone` 设置了一个名为 `cache_one` 的内存缓存区域,大小为 200MB,`inactive` 参数指定了1天内未被访问的缓存将被自动...

    nginx proxy_cache批量清除缓存的脚本介绍

    由于其高性能和稳定性,Nginx在互联网上广泛用于提供静态内容服务。...不过在运行脚本之前,了解nginxproxy_cache的工作机制和脚本的执行逻辑是很有必要的,以确保可以正确处理任何可能出现的问题。

    nginx-1.0.12_ngx-cache-purge1.5.tar.gz

    Nginx 是一款流行的高性能Web服务器和反向代理服务器,而 ngx_cache_purge 模块则是一个扩展,允许管理员清除或刷新 Nginx 缓存中的特定内容。 Nginx 的核心特性包括它的事件驱动架构,它能够处理大量并发连接,...

    nginx.config_nginx_

    - Nginx可以作为静态资源的缓存服务器,提高响应速度: ```nginx location ~* \.(css|js|jpg|jpeg|gif|png)$ { expires 1d; add_header Cache-Control public; add_header ETag ""; break; } ``` 使用`...

    ngx_cache_purge-2.1.tar.gz

    5. 在Nginx配置中定义允许进行缓存清理的路径或者URL模式,并设置相应的权限。 6. 重启Nginx服务,使新的配置生效。 在实际使用中,可以使用HTTP DELETE方法发送一个请求到Nginx服务器,附带特定的URL,ngx_cache_...

    Nginx作为动静分离、缓存与负载均衡初探1

    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m; proxy_cache_key "$scheme$request_method$host$request_uri"; location / { proxy_pass http://backend; proxy_cache my_...

    Nginx服务器上搭建图片缓存服务的基本配置解析

    本文将详细解析两种Nginx的图片缓存配置方式:proxy_store模块和proxy_cache模块。 首先,proxy_store模块允许Nginx将从上游服务器获取的图片保存到本地磁盘,形成一个本地的静态文件缓存。以下是一个基本的proxy_...

    强烈推荐 打造高性能nginx缓存服务器

    - `proxy_cache_path`用于定义缓存的存储位置和配置参数,如`levels`表示缓存目录结构的层次,`keys_zone`定义了缓存键的存储区域大小,`inactive`设置了缓存条目的最大存活时间,而`max_size`则限制了总的缓存大小...

    Nginx 性能优化实践1

    3. 缓存更新:Nginx提供了多种机制来控制缓存的更新,如`proxy_cache_revalidate`(根据Last-Modified或ETag头验证缓存)、`proxy_cache_bypass`(决定是否跳过缓存)和`proxy_cache_lock`(防止同一资源的并发请求...

    nginx cache 学习总结 1

    为了提高效率,建议缓存目录和`proxy_temp_path`设置的临时文件位于同一文件系统内,以避免跨文件系统的昂贵复制操作。 总结,Nginx的缓存机制通过上述指令提供了灵活的控制,可以根据需求调整缓存策略,优化服务...

    nginx tomcat负载均衡缓存服务器集群.docx

    proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m inactive=60m; server { location / { proxy_pass http://backend; proxy_cache my_cache; proxy_cache_bypass $http_pragma; proxy...

    Nginx配置负载均衡和缓存详解

    以上配置中,`proxy_cache_path`定义了缓存区域的位置和大小,`proxy_cache`指定是否启用缓存,`proxy_cache_valid`设置了缓存的有效时间。 此外,Nginx还支持Purge模块,可以动态清除缓存中的特定条目。这对于更新...

Global site tag (gtag.js) - Google Analytics