设置缓存,可以提高网站性能。

当网站的部分内容,比如新闻站的图片,一旦发布就不太可能发生更改,此时需要用户在访问一次页面之后,把该页面的图片缓存在用户的浏览器端一段时间,就可以用到 nginx 的 expires 设置。

expires 的语法参见:http://nginx.org/en/docs/http/ngx_http_core_module.html

location = /images/default.gif {expires 30s; # 30m:30 分钟,2h:2 小时,30d:30 天
}

expires 的上下文包括 location、if in location

【例】

访问 http://192.168.254.100/

图片 nginx.png 的响应状态是 200 ok

此时图片的 http 头信息:

再次刷新该页面

图片 nginx.png 的响应状态是 304 Not Modified,即来自浏览器缓存

此时图片的的 http 头信息:

虽然图片该次是从浏览器缓存中读取,但是浏览器仍然像服务器发出了一次 http 请求

如果要实现在一定时间内,浏览器不需要向服务器发送 http 请求,而直接从本地缓存中读取图片,可以在 nginx.conf 中进行配置:

[root@localhost nginx]# vim conf/nginx.conf

nginx.conf(添加 location 段 或者 修改 location ~ image ):

        location ~ image {root /var/www/;            expires 1d;index index.html;}

平滑重启 nginx

强刷(ctrl+f5)该页面,此时图片的 http 响应信息:

86400 是 1 天的秒数。

再次刷新该页面(按浏览器的刷新按钮):

在地址栏回车刷新页面:

没有产生实际请求。

在 chrome 浏览器下,通过地址栏回车刷新页面时的 http 响应信息:

from cache 表名没有产生实际请求。

修改 location ~ image 或者 添加 location,使缓存图片不仅限于 image 文件夹,而是网站中所有的 png|jpg|jpeg|gif (不区分大小写)图片都进行缓存设置:

        location ~* \.(jpg|jpeg|png|gif){expires 1d;}

平滑重启 nginx。

验证:访问 ecshop 目录下的某个图片

没有产生实际请求。

点击浏览器刷新按钮,查看该图片的 http 响应头信息:

说明此次 location 配置成功。

Nginx 笔记与总结(14)expires 缓存设置相关推荐

  1. Nginx优化之expires缓存设置

    nginx的缓存设置  提高网站性能对于网站的图片,尤其是新闻站, 图片一旦发布, 改动的可能是非常小的.我们希望 能否在用户访问一次后, 图片缓存在用户的浏览器端,且时间比较长的缓存可以, 用到 n ...

  2. html expires缓存,nginx优化:使用expires在浏览器端缓存静态文件

    一,nginx中expires指令的作用 网站的图片等静态文件一旦发布,通常很少改动, 为了减小对服务器请求的压力,提高用户浏览速度, 我们可以设置nginx中的expires, 使用户访问一次后,将 ...

  3. Nginx缓存设置教程

    这篇文章主要介绍了Nginx缓存设置案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下 在开发调试web的时候,经常会碰到因浏览器缓存(cache)而 ...

  4. nginx 缓存设置

    浏览器缓存原理 浏览器缓存 HTTP协议定义的缓存机制(如:Expires:Cache-control等) 2.浏览器无缓存 3.客户端有缓存 校验过期机制 校验是否过期                ...

  5. nginx 压缩和缓存设置

    nginx js和jpg图片缓存设置 server { listen       80; server_name  localhost; index index.htm index.html; roo ...

  6. Nginx的代理缓存设置

    Nginx的代理缓存设置 语雀Q群 763215167 expires: 设置浏览器的缓存时间 (客户端缓存) location /files {alias /home/imooc;# expires ...

  7. Nginx缓存以及反向代理缓存设置

    expires指令 (1).expires [time] server {listen 90;server_name localhost;location /czj {root /home;expir ...

  8. Nginx HTTP缓存设置

    Nginx提供了expires.etag.if-modified-since指令来实现浏览器缓存控制. expires 如果我们使用Nginx作为静态资源服务器,那么可以使用expires进行缓存控制 ...

  9. Nginx expires缓存

    expires缓存 对于网站的图片,尤其是新闻站, 图片一旦发布, 改动的可能是非常小的.我们希望 能否在用户访问一次后, 图片缓存在用户的浏览器端,且时间比较长的缓存.可以, 用到 nginx的ex ...

最新文章

  1. 深圳有哪些牛批的互联网公司?
  2. linux和windows测评,Windows Server 2016 与 Linux同台PK
  3. fedora linux操作系统安装,Fedora-10 Linux操作系统的安装,Fedora Linux的安装锦集收藏,图文并茂详解...
  4. Verilog inout 双向口使用和仿真
  5. html表单赋值提交,jQuery自动给表单赋值
  6. golang 编写的在线redis 内存分析工具 rma4go
  7. [转]Linux的tail 与head 命令
  8. Java基础学习总结(89)——为什么单元测试应该我们开发人员来写
  9. 代理模式-Java实现-静态代理、动态代理
  10. ORACLE 字符串操作
  11. 再别极域(亲测有效)
  12. Linux字符设备驱动详解
  13. C# 脚本化实现方式探究
  14. VBA入门到进阶常用知识代码总结47
  15. c# 检测中英输入法_用C#控制当前输入法
  16. Chainlink: 连接区块链生态的 Web3 服务平台
  17. 机器学习cae_“NVH机器学习”交流与数字化转型的探讨
  18. 马云天价请不动的中国顶级黑客
  19. Linux 命令(198)—— host 命令
  20. 湖师大2022考研复试准备

热门文章

  1. 【混淆矩阵】matlab画混淆矩阵
  2. 人工神经网络——【BP】反向传播算法证明
  3. mysql常用语句和函数
  4. 【codecombat】 试玩全攻略 第十四关 已知敌人
  5. SQL Server 2008安装配置说明书+简单使用 亲测可用
  6. 动态反射——Load,LoadFrom和LoadFile
  7. SQL Server 数据库维护脚本合集[005]-删除数据库所有用户表
  8. 驳AXAJ的七宗罪 (转)
  9. GoJs Pictures 官方介绍文档
  10. Ajax — 第三天