Nginx Stale Cache和proxy_cache_path
我把Nginx放在php app服务器前作为反向代理来缓存动态内容并保存一些点击到php. 我已经使用下面的设置配置了Nginx,希望我能实现以下行为. 1)在尝试从应用服务器重新提取之前,Nginx将缓存200个状态代码内容20米 2)缓存将保留最多7天,以处理对不常访问的内容的陈旧请求. 3)在最初缓存内容后20分钟内发出的请求将向后端发出请求以进行全新更新,但将提供过时版本,以便客户端获得即时响应.
更新: 有任何想法如何让Nginx长时间提供陈旧内容?用例基本上是缓存不常访问的内容,这些内容在我的应用服务器上生成成本很高.能够在缓存到期后的几天内提供陈旧项目,当一个热门终于进入时将是一个很大的性能提升.如果使用Nginx无法做到这一点,我会对其他代理/缓存选项开放(我只使用这个Nginx实例作为缓存). 最佳答案
事实证明,这与Nginx不是currently possible.我最终设置了Varnish长TTL(7天)以及长期优雅设置(2天).然后我每隔几天和force a warming of the cache就有一个脚本命中每个URL.
鉴于我需要缓存的内容量以及每个项目的访问频率,我首先担心运行Varnish的成本会高得令人沮丧(所有RAM!) – 这就是我查看Nginx文件的原因基于缓存.但是,Varnish确实有一个文件支持的缓存选项,对我来说效果非常好.到目前为止,我的缓存大约是80GB,表现非常好! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 使用Nginx在PHP-FPM 7上启用错误日志记录?
- ruby-on-rails – 使用rails,nginx和send_file在Chrome中流
- nginx.conf忽略nginx-ingress配置映射片段
- 我的记忆在哪里?! Nginx PHP-FPM前端Web服务器慢慢爬行
- nginx – 通过http流式传输RTMP
- php – 负载均衡:Nginx,Varnish和HTTP会话
- nginx 超时问题: upstream timed out (110: Connection tim
- apache-2.2 – 使用NGINX安装SVN服务器
- 为大URI配置Nginx
- 安全性 – IPTables不会立即使用ipset阻止IP