nginxjs缓存,nginx静态页面缓存

http://www.itjxue.com  2023-01-15 22:10  来源:未知  点击次数: 

【NGINX入门】3.Nginx的缓存服务器proxy_cache配置

本文介绍NGINX缓存机制,配置和参数说明。

如图所示,nginx缓存,可以在一定程度上,减少源服务器的处理请求压力。因为静态文件(比如css,js, 图片)中,很多都是不经常更新的。nginx使用proxy_cache将用户的请求缓存到本地一个目录。下一个相同请求可以直接调取缓存文件,就不用去请求服务器了。毕竟,IO密集型服务的处理是nginx的强项。

Nginx的缓存加速功能是由proxy_cache(用于反向代理和静态缓存)和fastcgi_cache(PHP动态缓存)两个功能模块完成。

Nginx缓存特点:

先上个例子:

因为我是在一台服务器上做试验,所以用了两个端口 80 和 90 进行模拟两台服务器之间的交互。

接下来讲一下配置项:

这里我设置了 图片 、 css 、 js 静态资源进行缓存。

当用户输入 域名时,解析得到 ip:port 的访问地址。 port 默认为80。所以页面请求会被当前server截取到,进行请求处理。

当解析到上述文件名结尾的静态资源,会到缓存区获取静态资源。

如果获取到对应资源,则直接返回数据。

如果获取不到,则将请求转发给 proxy_pass 指向的地址进行处理。

这里直接处理 90 端口接受到的请求,到服务器本地目录 /mnt/blog 下抓取资源进行响应。

细心的读者应该发现,我在第二段例子里,留了个彩蛋 add_header wall "hey!guys!give me a star." 。

add_header 是用于在报头设置自定义的信息。

所以,如果缓存有效的话,那么静态资源返回的报头,一定会带上这个信息。

(1)Nginx系列教程(3)nginx缓存服务器上的静态文件

(2)proxy_cache

nginx 反向代理之 proxy_cache

(3)Nginx使用upstream负载均衡和proxy_cache缓存实现反向代理

请问Nginx缓存不起作用的原因,感谢大家。

200:服务器已成功处理了请求,这表示服务器提供了请求的内容。=== 如果不想让代理或浏览器缓存,加no-cache参数 add_header Cache-Control no-cache;这样浏览器F5...

Nginx缓存设置教程

| 这篇文章主要介绍了Nginx缓存设置案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下 |

在开发调试web的时候,经常会碰到因浏览器缓存(cache)而经常要去清空缓存或者强制刷新来测试的烦恼,提供下apache不缓存配置和nginx不缓存配置的设置。在常用的缓存设置里面有两种方式,都是使用add_header来设置:分别为Cache-Control和Pragma。

对于站点中不经常修改的静态内容(如图片,JS,CSS),可以在服务器中设置expires过期时间,控制浏览器缓存,达到有效减小带宽流量,降低服务器压力的目的。

以Nginx服务器为例:

【背景】:Expires是Web服务器响应消息头字段,在响应http请求时告诉浏览器在过期时间前浏览器可以直接从浏览器缓存取数据,而无需再次请求。

【相关资料】

1、Cache-control策略

Cache-Control与Expires的作用一致,都是指明当前资源的有效期,控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据。只不过Cache-Control的选择更多,设置更细致,如果同时设置的话,其优先级高于Expires。

http协议头Cache-Control :

值可以是public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age

各个消息中的指令含义如下:

Last-Modified/If-Modified-Since

其最终达到的就是等效于设置这三类html缓存技术:

Nginx怎样设置浏览器缓存

浏览器缓存(BrowserCaching)

为了加速浏览器,浏览器在用户磁盘上,对最近请求过的文档进行存储。

当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样,就可以加速页面的阅览,缓存的方式节约了网络的资源,提高了网络的效率。

浏览器缓存可以通过expires指令输出Header头来实现,expires指令的语法如下

语法:expires[time| epoch | max |off]

默认值:expiresoff

作用域:http、server、location

用途:使用本指令可以控制http应答中的expires和Cache-Control的Header头信息,起到控制页面缓存的作用。

参数说明

Time,可以使用正数或负数,Expires头标的值,将通过当前系统时间加上设定的time值来获得。

epoch,指定expires的值为1January,1970,00:00:01 GMT。

Max,指定expires的值为31December 2037 23:59:59 GMT,Cache-Control的值为10年。

Off,表示不修改Expires和Cache-Control的值。

一个HTML页面,会引用一些JavaScript文件、图片文件、而这些格式的文件很少会被修改,则可以通过expires设置浏览器缓存。

比如,对常见格式的图片、Flash文件在浏览器本地缓存30天,对JS、CSS文件在浏览器本地缓存1小时,代码如下

nginx 缓存JS一小时,请问如何更新缓存

这个缓存是指你浏览器(客户端,非nginx)缓存,一般情况下,Ctrl+R强制刷新就会去掉缓存。

或者清除你的浏览器缓存就OK了。

(责任编辑:IT教学网)

更多

相关人物新闻文章

推荐人物新闻文章