Articles of caching

告诉浏览器caching,直到上次修改date更改?

我的网站由静态HTML文件组成,通常每天重新发布一次,有时甚至更多。 我正在使用Apache。 在我的网站的虚拟主机设置,我想告诉浏览器无限期地cachingHTML文件,直到Apache看到他们被修改。 所以,只要一个HTML文件被改变了,Apache应该立即开始告诉浏览器它已经改变并且发送更新的文件。 只要一个新文件发布,浏览器应该立即开始接收…他们不应该接收旧版本的文件。 也许 ExpiresByType text/html modification 没有“加x天”。 是这样的可能吗?

如何设置Varnish以仅caching静态内容?

我想设置Varnish作为Apache的反向代理caching。 如何设置Varnish以使Varnish能够提供所有静态数据(jpeg,jpg,png,gif,ico,js,css,txt,pdf,gz,zip,lzma,bz2,tgz,tbz,webp,html,htm)和一个dynamic的页面应该交给Apache) 到目前为止,我所看到的唯一build议是将所有静态内容放在不同的位置(如子域)与dynamic内容的一些变化。 这似乎很奇怪,甚至是荒谬的。 无论如何,这不是一个真正的select。 会有这样的帮助吗? if (req.url ~ “\.(jpeg|jpg|png|gif|ico|webp|js|css|txt|pdf|gz|zip|lzma|bz2|tgz|tbz|html|htm)$”) { return (lookup); } else { return (pass); }

Nginx将文件保存到本地磁盘

我的情况是: 在我们的中国公司,我们必须通过互联网访问美国总部的一个networking服务器。 但是networking太慢了,我们下载了很多大的图片文件。 我们所有的开发者都必须等待。 所以我们要设置一个作为反向代理的Nginx,它的上游是我们的美国networking服务器。 问题是我们可以让Nginx将来自美国web服务器的图像文件保存到本地磁盘吗? 我的意思是让Nginx作为一个caching服务器。

Nginxcaching提供caching内容而不是错误页面

有什么办法可以configurationNginx提供caching的内容而不是错误页面? 假设访问一个页面/abc.html导致了200,并且页面被caching了。 同时,有些东西发生了变化(文件被删除了,或者,如果nginx被用作反向代理服务器有50x错误等),而不是提供错误,我想服务最后一个“好”的caching页面。

如何加快操作码caching响应时间?

我有一个运行Ubuntu 12.10,PHP 5.5.8和操作码caching的function适中的VPS(四核Xeon,3GB内存,SSD)启用。 我正在使用memcached,操作码caching和mod_pageSpeed。 我正在使用New Relic监控应用程序。 问题是无论我尝试了什么,增加内存限制,caching大小等,我无法获得低于约80毫秒的请求响应时间。 数据库运行Percona,每个请求花费大约40毫秒,而PHP每个请求花费大约40毫秒。 所有请求都是从OpCode编译的caching中提供的,所以我不明白所有的延迟来自哪里。 我错过了什么? 谢谢。 如果我错过了一些关键的信息,可以提前道歉,所有这些都可以根据要求提供。

NGINX – dynamicproxy_cache_path目录

有没有人成功地为不同的网站configuration单独的caching文件夹?

Nginx不caching任何代理请求

我相信我已经正确设置了nginx来caching代理到PHP-FPM的所有请求,但是它不起作用。 以下是/etc/nginx/nginx.conf中的“http”位: http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; proxy_cache_path /var/cache/nginx/static levels=1:2 keys_zone=static:20m; include /etc/nginx/conf.d/*.conf; keepalive_timeout 30; fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; gzip on; gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_comp_level 5; gzip_vary on; gzip_proxied […]

nginx:如何只caching负面的FastCGI响应

需要一些集体头脑风暴:)。 有一个沉重的PHP应用程序(例如Magento),每次访问者遇到一个不存在的页面(或者应用程序的特定部分有问题,并且它返回错误),应用程序服务器上的负载就是滚雪球: 在不存在页面的情况下,它们不会被caching,应用程序花费相当多的资源来检查所有内容并生成caching副本,这将浪费时间; 在部分应用程序出现问题的情况下,应用程序将花费宝贵的时间来生成这些错误响应,以牺牲站点健康部分的访问者为代价。 这里的想法是将来自FastCGI后端的404和5xx等所有负面响应caching在nginx前端5分钟 – 这将显着降低对应用程序服务器的性能影响。 使用fastcgi_cache_ *指令可以很容易地实现caching。 但是,一旦在fastcgi_pass所在的位置块中定义了fastcgi_cache_ *指令,它将尝试caching经过该位置块的所有内容。 因此,问题是如何将fastcgi_cache限制为仅来自后端脚本的404响应? 只是为了说明情况多一点。 想象一下,一个请求到/ app / missing,应用程序只有在/index.php中的入口点,所以nginx会将请求传递给调用/index.php/app/missing的后端FastCGI服务器。 现在,由于/ app / missing不存在,index.php将返回HTTP 404.这个路由将会像请求/ app / missing一样紧缩CPU。 我们希望的是,一旦HTTP 404从index.php返回,/ app / missing将被从nginx的index.php中得到的404页面caching起来,所以如果有人请求/ app /马上丢失, PHP后端,但返回一个caching页面。

debuggingNginxcaching

我想确定何时获得caching命中或未命中。 最好是,这将是一个标题,像 X-Cache: HIT 要么 X-Cache: MISS 我如何用Nginx(上游服务器的反向代理)来做到这一点?

基于正则expression式匹配的NGiNX自定义caching参数

我的问题如下: 我如何设置基于正则expression式的自定义variables对useragent? 如何为反向代理请求设置自定义标头? 我如何使用这些值作为caching参数? 细节: 我正在做我的应用程序基于用户代理parsing的初始输出…这基本上打破了请求渲染,所以初始渲染将匹配引导大小的“xs”,“sm”,“md”,“lg” … 我有我的正则expression式制定出来,以便移动设备将得到输出呈现为“xs”和普通的平板电脑将默认为“sm”,其他任何人都得到“md”…客户端绑定后,它将调整为实际的设备显示,这主要是让浏览器将得到他们需要的大小。 我想要做的是: 根据与用户代理的模式匹配设置一些参数,这些参数将通过(反向代理)传递给我的应用程序 X-Initial-Size – “xs”,“sm”,“md”,“lg”(实际上什么都不会解决为“lg” X-Is-Human – 与已知的机器人进行匹配以进行检测 X-Browser-Class – “古代”,“现代”,“ie#”(IE <= 9) 使用X-Initial-Size和X-Browser-Class作为变长参数,以实现更长时间的服务器端输出caching。