- 浏览: 265340 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (298)
- 工作感悟 (6)
- java基础 (23)
- 计算机硬件知识 (1)
- 计算机网络知识 (2)
- Struts (3)
- Srping (4)
- hibernate (0)
- ibatis (0)
- webservice (4)
- Thread (22)
- maven (5)
- ubuntu/linux/centos/redhat (46)
- SSO (1)
- ESB (0)
- 工作流 (0)
- oracle (15)
- 云计算 (1)
- hadoop (1)
- nosql (0)
- mysql (3)
- sqlserver (0)
- jquery (0)
- 分布式 (3)
- 集群 (0)
- 设计模式 (2)
- EJB (0)
- map (0)
- cache (5)
- Niginx+varnish+squid+Ats (14)
- Apache (0)
- 工作/职业规划 (0)
- Scala & Groovy (1)
- English (4)
- 数据结构/算法 (6)
- 开发工具 (5)
- 测试 (2)
- Exception (0)
- 定时器 (3)
- j2ee (2)
- 部署 (1)
- Openssl (1)
- 操作系统 (3)
- kvm (13)
- libvirt (5)
- PostgreSql (5)
- 虚拟化 (3)
- 概念理解 (1)
- virt-manager (1)
- RESTful (3)
- 其它 (4)
- ssh2 (14)
- windows (1)
- 房产 (2)
- svn (1)
- 手机 (1)
- ant (1)
- flume (2)
- sqoop (1)
- fastdfs (5)
- log4j (1)
- SPDY (1)
- mongodb (2)
- MQ (2)
- Mina (1)
- dubbo (4)
- PMP (1)
- Webshpere (2)
- jvm (1)
- Btrace (1)
- zookeeper (7)
- UML (1)
- spring cloud (6)
- spring boot (5)
- storm (0)
- 软件管理 (1)
- elasticsearch (1)
- 协议 (2)
- docker (1)
- 性能 (2)
- 安全 (1)
- 代码规范 (1)
- mqtt (1)
- lombok (1)
- 车联网 (1)
- kafka (1)
最新评论
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.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设置反向代理后,页面上的js css文件无法加载
2018-09-06 18:32 2852问题现象: nginx配置反向代理后,网页可以正常访问, ... -
nginx反向代理demo
2017-12-20 13:24 410#user nobody; worker_processes ... -
如何安装nginx_lua_module模块
2014-07-15 16:02 783nginx_lua_module是由淘宝的工程师清无(王晓哲) ... -
nginx不浏览直接下载文件
2014-07-10 14:02 1864当我们使用Nginx时,如果要让一些附件比如txt,pdf,d ... -
nginx的upstream目前支持5种方式的分配
2014-07-07 08:43 534nginx的upstream目前支持5 ... -
Varnish配置
2014-06-24 14:31 756# This is a basic VCL configu ... -
ngix缓存设置详解
2014-06-24 14:28 667#user nobody; worker_proces ... -
谈谈varnish,squid,apache,nginx缓存的对比
2014-06-24 14:18 618群里总是有人在问cache用什么,有varnish,squid ... -
nginx启动,重启,关闭命令
2014-06-19 15:19 533停止操作 停止操作是通 ... -
./configure: error: the HTTP rewrite module requires the PCRE library
2014-06-19 13:57 637有时候,我们需要单独安装nginx,来处理大量的下载请求。单独 ... -
nginx负载均衡配置实例
2013-03-18 15:35 761#user nobody; worker_processes ... -
Nginx配置文件详细说明
2013-03-18 14:06 661在此记录下Nginx服务器ng ... -
linux 安装Nginx-0.8.54
2013-03-18 09:39 756今天安装了nginx,主要参考下面的两篇文章。主要是第一篇,但 ...
相关推荐
- keys_zone=proxycache:60m:定义一块共享内存区域,名称为proxycache,大小为60MB,用于存放缓存的key和元数据。 - max_size=120m:设置缓存的最大空间大小,超过这个大小后,会根据LRU(最近最少使用)算法删除最...
ngx_cache_purge 是 nginx 模块,此模块可以清理 nginx 的 FastCGI、proxy、 SCGI 和 uWSGI 的缓存。配置指令(相同位置语法)fastcgi_cache_purgesyntax: fastcgi_cache_purge on|off|<method> [from all|<ip> [.....
在这个配置中,我们定义了一个名为`my_cache`的缓存区域,并设置了一个专门用于清除缓存的Location `/purge`,只有特定的IP才能访问该URL来清除缓存。 通过这样的配置,当需要更新特定资源时,可以通过发送一个请求...
总结来说,本文可能会涵盖Nginx的proxy_cache缓存机制,CDN的基本原理,以及如何通过配置nginx.conf文件来实现这两项功能。同时,可能会提及源码分析和优化策略,帮助读者更好地理解和利用Nginx提升网站性能。
这里,`proxy_cache_path` 指定了缓存存储的路径,`levels` 参数定义了缓存目录的层级,`keys_zone` 设置了一个名为 `cache_one` 的内存缓存区域,大小为 200MB,`inactive` 参数指定了1天内未被访问的缓存将被自动...
由于其高性能和稳定性,Nginx在互联网上广泛用于提供静态内容服务。...不过在运行脚本之前,了解nginxproxy_cache的工作机制和脚本的执行逻辑是很有必要的,以确保可以正确处理任何可能出现的问题。
Nginx 是一款流行的高性能Web服务器和反向代理服务器,而 ngx_cache_purge 模块则是一个扩展,允许管理员清除或刷新 Nginx 缓存中的特定内容。 Nginx 的核心特性包括它的事件驱动架构,它能够处理大量并发连接,...
- Nginx可以作为静态资源的缓存服务器,提高响应速度: ```nginx location ~* \.(css|js|jpg|jpeg|gif|png)$ { expires 1d; add_header Cache-Control public; add_header ETag ""; break; } ``` 使用`...
5. 在Nginx配置中定义允许进行缓存清理的路径或者URL模式,并设置相应的权限。 6. 重启Nginx服务,使新的配置生效。 在实际使用中,可以使用HTTP DELETE方法发送一个请求到Nginx服务器,附带特定的URL,ngx_cache_...
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的图片缓存配置方式:proxy_store模块和proxy_cache模块。 首先,proxy_store模块允许Nginx将从上游服务器获取的图片保存到本地磁盘,形成一个本地的静态文件缓存。以下是一个基本的proxy_...
- `proxy_cache_path`用于定义缓存的存储位置和配置参数,如`levels`表示缓存目录结构的层次,`keys_zone`定义了缓存键的存储区域大小,`inactive`设置了缓存条目的最大存活时间,而`max_size`则限制了总的缓存大小...
3. 缓存更新:Nginx提供了多种机制来控制缓存的更新,如`proxy_cache_revalidate`(根据Last-Modified或ETag头验证缓存)、`proxy_cache_bypass`(决定是否跳过缓存)和`proxy_cache_lock`(防止同一资源的并发请求...
为了提高效率,建议缓存目录和`proxy_temp_path`设置的临时文件位于同一文件系统内,以避免跨文件系统的昂贵复制操作。 总结,Nginx的缓存机制通过上述指令提供了灵活的控制,可以根据需求调整缓存策略,优化服务...
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...
以上配置中,`proxy_cache_path`定义了缓存区域的位置和大小,`proxy_cache`指定是否启用缓存,`proxy_cache_valid`设置了缓存的有效时间。 此外,Nginx还支持Purge模块,可以动态清除缓存中的特定条目。这对于更新...