首页
学习
活动
专区
工具
TVP
发布

运维录

专栏作者
55
文章
165666
阅读量
16
订阅数
Nginx 缓存服务器(番外)定制Docker镜像
在 "nginx 缓存服务器(下)" 这篇文章中,我们讲解了如何使用 ngx_cache_purge模块主动清理缓存,不过默认的 nginx镜像是不包含 ngx_cache_purge模块的,我们需要自己安装这个模块,但是大家都知道 容器的生命周期会随着镜像更新而结束,也就是说在当前容器中安装的 ngx_cache_purge模块并不会保留在后续的镜像/容器里。 这是因为 Docker存储机制,Docker镜像使用的是分层存储,容器也是如此。每一个容器运行时是以镜像为基础层,并在其上创建一个当前容器的存储层,容器存储层的生存周期和容器一样,容器消亡时容器存储层也随之消亡,因此任何保存于容器存储层的数据都会随容器删除而丢失。
用户1560186
2019-11-19
1.7K0
Nginx 缓存服务器(番外)动态 upstream
在更新应用镜像(图中的App1)版本后,部分静态资源抛出HTTP 502状态码。先来看下 nginx缓存服务器日志,重点在"Host is unreachable"这段信息,顺着这个错误信息最终找到了错误源头,也有了本篇文章。
用户1560186
2019-11-19
2.6K0
Nginx 缓存服务器(上)
1. 如果你的 web应用支持使用动态CDN(全站)直接加速,那么你可能不需要 Nginx Cache功能。 2. 如果你的 web应用有专用的静态服务器(CDN源站)承担静态文件请求,并配合域名实现动静态分离,那么你可能不需要 Nginx Cache功能。 无论是动态CDN还是静态CDN加速,核心思想都是将静态文件请求压力前置到CDN服务商,减少静态请求压力从而集中火力支撑业务逻辑请求,所谓的术业有专攻如此。 回到Nginx Cache功能上来,如果你的web应用,既不能直接引入动态CDN加速,当前规模也不适合静态CDN加速,但还有一定规模的静态请求压力,那么项目初期 Nginx Cache功能是比较适合的动静态分离方案。
用户1560186
2019-11-19
2.3K0
Nginx 缓存服务器(下)
上一节讲解了在那些场景下使用 Nginx Cache服务器,以及如何配置、调试 Nginx Cache功能,需要的可以看这里,这一节讲一讲 Nginx Cache服务器在使用中经常遇到的一些问题。 第一个问题 我们自定义了 Nginx日志格式,并添加了 $upstream_cache_status变量,可以在日志查看请求的资源是否命中缓存。 例如 nginx日志: 10.42.248.154 - 省略... - MISS 0.004 表示请求没有命中缓存,请求由上游服务器负责返回响应,花费 0.004秒。 但是我们不可能时时刻刻的登录后台查日志,如果请求结果中带有缓存状态信息那就方便了,其实在 CDN中都是带有缓存状态信息的,幸运的是在 Nginx可以很方便的添加一个http 头信息。 第二个问题 缓存更新问题,由于在用户端(浏览器) 与 服务器端(App) 添加了代理缓存层(Nginx), 浏览器强制刷新的功能因为加入代理缓存层失效,举个例子: 用户端访问 http://demo.com/css/ui/test.css 资源,命中 Nginx Cache服务器 Expires时间为5天,但是前端小伙伴在缓存期间调整了 test.css样式文件,那么当用户再次访问 test.css 仍然获得是旧的数据(Nginx Cache认为没有过期),所以我们需要能够主动清理/更新缓存的功能,同样幸运的是 Nginx提供了 ngx_cache_purge 第三方模块可以解决这个问题。
用户1560186
2019-11-19
2.4K0
没有更多了
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档