Nginx有一个非常漂亮的命令来使一个特定的caching失效 proxy_cache_bypass $http_cachepurge; curl -I myapp.example.com/api/ping -H "cachepurge: true" 清漆有什么等价物吗?
在configurationnetworking服务器(nginx)时,设置和过期时间并caching客户端浏览器请求的每个目录中的每个元素的情况并不常见? 我刚刚在nginx网站和servervault上find了一些到期时间的例子: location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { expires 30d; add_header Pragma public; add_header Cache-Control "public"; } location ~* \.(?:css|gif|jpe?g|png)$ { expires max; } 如果我想通过设定每个元素的到期时间,我将如何写location线? location ~* \.(?:*)$ { expires 2d; add_header Pragma public; add_header Cache-Control "public" }
当我检查我的Chrome开发工具时,我得到了两个x-cache值。 2个xcaching值 你们有什么想法吗? caching工作正常。 你认为我需要修改我的服务器块指令吗? 我的服务器块在这里find: https : //craftcms.stackexchange.com/questions/21171/static-page-caching-using-nginx-fastcgi-cache-with-craftcms/21181#21181
我们有一个启用了服务器端渲染的单页面应用程序。 我们在AWS ELB上托pipe。 应用程序资源( js , css文件)在文件名中包含一个散列,用于控制客户端/代理端的caching,并且能够确保自从新版本到达后,我们的每个客户都将获得它的新版本。 要做得好,我们已经决定caching整个文件的标题,正文和页脚的一切。 这是预渲染(与所有组件)结果存储在caching中。 它工作得很好,但有一个问题。 无论我们使用什么样的部署策略,我们总是面对这个策略。 我们有两个实例,由于我们使用Rolling方法(这是AWS推荐的)将一个新构build部署到其中一个实例,所以我们使Memcache无效,但问题是:尚未更新的实例(以前的构build),正在工作(处理请求)。 这意味着如果旧的实例会比新的实例(有时候会发生什么)更快地接收到一个请求,那么我们将得到caching的老版本的文档,它指的是不存在的资源(在文件名中使用旧的散列) 。 我看到几个解决scheme:1.开始使用简单的文件名为资产(避免散列)2.不要使用memcache直到所有的实例更新,他们都不符合我们的要求。 有没有其他解决scheme?
运行时出现此错误: varnishlog -b -q'FetchError' – ObjHeader X-Frame-Options: SAMEORIGIN – ObjHeader Vary: Accept-Encoding – ObjHeader Content-Type: text/html; charset=UTF-8 – ObjHeader Content-Language: uk – ObjHeader Content-Encoding: gzip – Fetch_Body 4 eof – – Gzip Gunzip error: -3 (invalid code lengths set) – FetchError Invalid Gzip data: invalid code lengths set – Gzip GFE 0 20 80 80 […]
我有一个奇怪的问题。 在我的网站上已经安装了wordpress,没有任何一种caching插件。 但是当我更新任何CSS它不显示。 我甚至在WordPress编辑器模式中编辑我的CSS,但仍然是相同的。 我的编辑在代码模式下正确显示。 但不影响网站。 为了testing我从服务器删除我的style.css,但我仍然可以看到我的网站工作很好。 对于testing问题,我从不同的位置访问网站。 (我使用代理网站http://www.locabrowser.com/ ),但同样.. 所以我不知道这是什么错误。 是我的服务器caching该文件。 bellow是style.css的信息,我在networking部分获得了表单chrome开发工具。 我不知道这些信息。 但我看到那里说 Expires:Mon, 07 Aug 2017 15:30:14 GMT Last-Modified:Thu, 15 Jun 2017 20:48:37 GMT 这是什么意思? 一般 Request URL:http://xxxxx.com/portfolio/wp-content/themes/xxxx/style.css Request Method:GET Status Code:200 OK Remote Address:104.24.114.132:80 Referrer Policy:no-referrer-when-downgrade 响应头 Accept-Ranges:bytes Cache-Control:public, max-age=604800 CF-Cache-Status:HIT CF-RAY:38719906f5fb531a-MIA Connection:keep-alive Content-Encoding:gzip Content-Length:3418 Content-Type:text/css Date:Mon, 31 Jul 2017 15:30:14 […]
我有一个引发MemoryError的python脚本,我可以在外部监控系统的graphics中看到caching(它被清空)的巨大变化。 当CentOS达到一定的阈值时,转储内存caching吗? 或者当它检测到一个失败的进程? 如果是这样,这是否logging在任何地方? 或者我必须创build一种cron /脚本来听这种事情?
我有2个nginx服务器: Nginx-1 =原始服务器(css,image,json等)Nginx-2 = proxy_cache,proxy_pass 这两个服务器已经很好地沟通,proxy_cache是好的。 障碍是当我想在nginx-2服务器上做gzip的时候, nginx-1: curl -H "Accept-Encoding: gzip" -I http://example.com/appaux/m2017/theme_2/js/app-min.js HTTP/1.1 200 OK Server: nginx Date: Tue, 08 Aug 2017 07:39:38 GMT Content-Type: application/x-javascript Last-Modified: Wed, 21 Jun 2017 06:54:23 GMT Expires: Sat, 07 Oct 2017 07:39:38 GMT Cache-Control: max-age=5184000 Cache-Control: public Content-Encoding: gzip nginx的-2 curl -H "Accept-Encoding: gzip" -I http://example.com/appaux/m2017/theme_2/js/app-min.js […]
我是一个外部JSON API的代理,并试图caching代理响应。 要确定代理caching是否正在工作,我已经添加了 add_header X-Cached $upstream_cache_status; 并总是看到一个MISS值。 我的nginxconfiguration位置: location /api/tides { proxy_hide_header Cache-Control; proxy_ignore_headers Cache-Control; proxy_cache worldtidecache; proxy_set_header Host www.worldtides.info; proxy_pass https://example.com/api/$query_string; add_header X-Cached $upstream_cache_status; } 在此之前,我已经设置了proxy_cache_path proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=worldtidecache:100m max_size=1g inactive=48h use_temp_path=off; www-data具有对/var/cache/nginx读/写访问权限 我假设proxy_buffering设置为on因为我没有任何明确的设置。 nginxconfiguration是有效的。 我用nginx -c nginx.conf -ttesting了它nginx -c nginx.conf -t : ╰─sudo nginx -c nginx.conf -t nginx: the configuration file /etc/nginx/nginx.conf […]
我正在为〜200GB数据库(包括数据和索引)运行Postgres实例。 它位于Google Compute Engine服务器上。 我的磁盘选项是networking块存储或本地SSD。 我想知道是否可以使用本地SSD作为数据库的caching层。 networking块存储是持久的,但是具有相对较慢的读/写和低IOPS。 本地固态硬盘具有高吞吐量读/写和高IOPS,但是实际上是瞬态的并且不能在closures实例的情况下存活。 我想我可以运行两个Postgres实例:networking块存储上的主服务器,以及本地SSD上的只读副本。 但是,就像Linux自动使用可用的RAM作为磁盘caching,我不知道是否可以告诉Linux使用本地SSD作为慢速networking块存储的caching。 有谁知道如何去做呢?