Questions tagged «cache»

存储临时或临时数据以提高应用程序或系统性能的位置或过程。

2
Nginx缓存符号链接
我的Web服务器上有一个部署系统,每次部署应用程序时,它都会创建一个带时间戳的新目录,并将符号“当前”链接到该新目录。这一切在apache上都很好,但是在我设置的新的nginx服务器上,看起来好像正在运行“旧”部署中的脚本,而不是新的符号链接的脚本。 我已经阅读了一些有关如何解决此问题的教程和帖子,但没有太多信息,而且似乎也无济于事。这是我的虚拟主机文件: server { listen 80; server_name ~^(www\.)?(?<sname>.+?).testing.domain.com$; root /var/www/$sname/current/public; index index.html index.htm index.php; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~* \.(jpg|jpeg|gif|png|bmp|ico|pdf|flv|swf|exe|html|htm|txt|css|js) { add_header Cache-Control public; add_header Cache-Control must-revalidate; expires 7d; } location ~ \.php$ { #fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; include fastcgi_params; fastcgi_param DOCUMENT_ROOT $realpath_root; fastcgi_param SCRIPT_FILENAME …
12 nginx  php-fpm  cache  php7 

3
在Nginx中何时使用或不使用sendfile开关?
我们已经在nginx.conf相当长的一段时间内拥有此设置。 sendfile on; 当我们更新了文件/js/main.js并从浏览器https://test.com/js/main.js?newrandomtimestamp访问时,除非我们从浏览器进行完全刷新(清除缓存),否则它仍将加载旧版本。 但是,当我们从sendfile更改设置时;发送文件;浏览器将加载正确版本的更新文件。 对于我们的生产Web服务器,是否应该在sendfile上使用;或sendfile关闭;?如果sendfile开启;是必需的(可能是因为更好的缓存吗?性能更快?)然后如何解决上述问题? 以下是nginx.conf我们生产服务器中的,我们正在使用1.7.5版: user nginx; worker_processes 2; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; worker_rlimit_nofile 51200; events { use epoll; worker_connections 51200; } 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; client_max_body_size 8m; …
12 nginx  cache 

2
如果后端关闭,nginx使用代理缓存
如果后端服务器关闭,我需要nginx代理使用缓存: 这是我的配置。但似乎是nginx使用不带检查后端服务器的缓存。 http { # ... proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache_path /tmp/nginx levels=1:2 keys_zone=tmpzone:10m inactive=60m; proxy_cache_key "$scheme$request_method$host$request_uri"; server { server_name _; location / { proxy_connect_timeout 5s; proxy_read_timeout 5s; proxy_cache tmpzone; proxy_cache_valid 200 304 1d; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; proxy_set_header X-Real-IP …
11 nginx  proxy  cache  failover 

3
不规则的互联网中断:某些图片和JS无法加载
第一次使用ServerFault,我遇到了一个小难题。 从现在开始的几个月以来,我们一直存在互联网连接问题。 环境: Servers: 2 Terminal Servers as an RDSFarm running Windows Server 2008 R2 Browser: Internet Explorer 9 Test/debug browser: Chrome AntiVirus: Avast 7.0.1455 问题: 网站会不定期地拒绝加载,并给出错误消息,指出该页面无法访问,或者某些图像无法完全加载。另外,检查后,serveral .js文件无法加载。 研究结果和尝试: 第一印象: 当我在该间隔内使用Chrome时,经过一些刷新后,该网站返回了net ::错误101或错误103。在其他时候,如果未给出错误,则看不到几张图像并显示X图像。IE只是说无法显示该页面。 使用Chrome开发者工具: 它在控制台中显示了几个资源不可用,但是当我右键单击丢失的图像并选择“显示图片”时,它们就会显示出来。当我通过直接URL打开图片时,它们也会显示。 通过Chrome开发者工具进行审核: 当页面处于越野车状态时,我对页面进行了审核,发现某些.js文件未与某些.png,.jpg和.gif文件一起加载。Chrome和IE会加载不同的图像。 混淆的JS文件和Avast: 经过检查后,我发现大多数.js文件都是模糊的JS文件,并且由于我们运行的是Avast 7.0.1455,所以我想知道Web Shield是否不会使事情变得混乱。 再说一次,它只发生在第一个TS上,而不是第二个。 所以我关闭了WebShield一天,看看是否有任何改善。没有。回到原点。 文件没有缓存过期: 那些未加载的文件中的几个表明没有缓存过期。 缓存: 我们的一位系统管理员将IE缓存大小更改为10MB,而我认为这可能是问题的根源。他将其更改回65MB左右,但仍然有人在图像上遇到麻烦。它也仍然在1 TS上以及在Chrome中发生,因此我认为组策略没有规定缓存会影响Chrome,不是吗? 网络问题: 我还认为这可能是网络或路由问题,但是两个TS服务器都在同一个成组的NIC上,而另一个则工作正常。 救命! …

5
如何解决.htaccess文件中的“此处未允许ExpiresActive”错误消息?
我正在尝试将Expires标头添加到我正在工作的网站的HTTP响应中。我控制Apache 1.3服务器的唯一方法是编辑.htaccess文件。我尝试添加如下代码来启用Expires标头: <IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 hour" </IfModule> 但是,这会导致内部服务器错误,并在日志中显示以下错误消息: ExpiresActive在这里不允许 由于未启用mod_headers,因此我可能无法使用其他缓存控制方法。我仍然可以通过.htaccess文件中的某些命令使用mod_expires启用Expires标头吗? 更新 我记得在某个地方读到,httpd.conf中的Override设置可能与此有关。有什么方法可以验证这确实是问题所在吗?如果是,是否有一些解决方法可以控制我的网站的缓存标题?

4
如何配置nginx从RAM提供静态内容?
我想将Nginx设置为我的Web服务器。我想将图像文件缓存在内存(RAM)中而不是磁盘中。我正在提供一个小页面,并且希望始终从RAM提供一些图像。我不希望为此使用Varnish(或任何其他此类工具),因为我相信Nginx可以将内容缓存到RAM中。我不确定如何为此配置Nginx?我确实尝试了几种组合,但没有用。Nginx一直使用磁盘来获取图像。 例如,当我尝试使用以下命令测试Apache基准测试时: ab -c 500 -n 1000 http://localhost/banner.jpg 我收到以下错误: socket: Too many open files (24) 我猜这意味着Nginx试图同时从磁盘打开太多文件,而OS不允许此操作。谁能建议我正确的配置?
11 nginx  cache  memcache 

3
为什么在上次修改匹配If-modified-since之后Apache会发送200 OK?
我正在尝试有关缓存策略的基本行为:应该缓存文件,并每次都使用服务器对其进行重新验证。因此,我希望Apache将304发送回去。 这是每次浏览器刷新都会发生的对话框: Status Code:200 OK Request Headers Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding:gzip,deflate,sdch Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4 Cache-Control:max-age=0 Connection:keep-alive Cookie: ... Host:... If-Modified-Since:Tue, 14 Oct 2014 15:10:37 GMT If-None-Match:"1461-505636af08fcd-gzip" User-Agent:Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36 Response Headers Accept-Ranges:bytes Cache-Control:No-cache Connection:Keep-Alive Content-Encoding:gzip Content-Length:1412 Content-Type:text/html Date:Tue, 14 Oct 2014 16:58:05 GMT ETag:"1461-505636af08fcd-gzip" Keep-Alive:timeout=5, max=99 Last-Modified:Tue, …

1
Linux; 什么是stripe_cache_size,它有什么作用?
我目前正在使用mdadm实用程序在Linux下构建软件RAID,并且阅读了几篇文章,描述了如何增加该RAID的stripe_cache_size值以及如何计算stripe_cache_size的适当值。 我已将我的速度提高到16384,并且我在/ proc / mdstat中新RAID5上的当前同步速率已从71065K / sec跃升至143690K / sec(翻了一番!),这是个好消息。我还看到了RAM使用量的匹配增长和预期增长,但是找不到有关此设置的作用及其工作原理的任何文档。 它似乎是存在于RAM中的RAID的某种高速缓存。我可以从它的名称以及更改它所看到的效果中看出所有。是否有关于此设置和描述的官方“ Linux”文档?
10 linux  cache  mdadm 

2
如果大小不变,Vagrant NFS共享不会显示更新的文件
通过NFS挂载/ vagrant时,如果大小不变,则主机上更改的文件不会在guest虚拟机上刷新。除非我进行了足够的修改以使大小不同,否则不会立即反映出快速更新/类型。 我试图设置lookupcache = none,但是除了使一切变慢之外,什么都没有改变。 我使用OSX ML作为主机,使用Arch Linux作为来宾。NFS是v3(由于OSX)。

2
阻止IIS 7.5在错误代码上发送缓存控制最大年龄
我有一些Max-Age附加了缓存控制标头的静态内容,因此客户端将缓存静态内容。但是,当有错误响应建议客户端对其进行缓存时,IIS 7.5仍会发送此标头。 这具有负面影响,即某些代理随后将缓存该错误响应。我可以,Vary: Accept,Accept-Encoding但这不能真正解决Max-Age错误响应的根本问题。 当前相关的IIS web.config部分是: <configuration> <system.webServer> <staticContent> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" /> </staticContent> </system.webServer> </configuration> 有没有办法让我做到这一点,使我们不告诉客户或代理缓存400/500错误代码?
10 iis  http  iis-7.5  cache 

4
如果服务器使用不间断电源,则电池在电池支持的缓存RAID控制器上有什么作用?
如果服务器安装在尺寸适当的UPS上,电池是否多余?有一个选项可以强制执行回写模式,我想了解这种风险。据我了解,当缓存中的数据尚未写到物理磁盘时,它有助于防止电源故障。但是,如果服务器在UPS上,则不会有断电的风险,特别是如果它是智能UPS,并且服务器配置为在电池电量低时可以正常关闭。我想念什么吗?
10 backup  raid  cache  ups  battery 

2
Apache重定向并设置缓存头?
在Apache中进行重定向很容易(mod_alias): RedirectMatch ^.*$ http://portal.example.com/ 设置缓存头同样容易: Header set Cache-Control max-age=0 Header set Expires "Thu, 01 Dec 1994 16:00:00 GMT" (我不希望这个被缓存) 但!看来您无法将两者结合起来。此配置导致发送重定向,但不发送标头: <VirtualHost *:80> ServerName __default__ Header set Cache-Control max-age=0 Header set Expires "Thu, 01 Dec 1994 16:00:00 GMT" RedirectMatch ^.*$ http://portal.example.com/ </VirtualHost> 实际情况的示例: jb@apto % telnet 192.168.0.1 80 Trying 192.168.0.1... Connected …

2
缓存yum和debian存储库的代理
是否存在用于yum的缓存代理,类似于Debian仓库的近似代理? 有没有办法使reprepro的行为与大约相同?我听说大约不稳定。此外,我更喜欢使用reprepro,以便可以使用现有的Web服务器来服务存储库。
10 proxy  yum  cache  apt 

2
Tomcat 8 org.apache.catalina.webresources.Cache.getResource
我刚刚从7.0.52升级到8.0.14。 我得到了很多静态图像文件: org.apache.catalina.webresources.Cache.getResource无法将[/base/1325/WA6144-150x112.jpg]处的资源添加到缓存中,因为收回过期的缓存条目后可用空间不足-请考虑增加最大大小缓存的 我没有指定任何特定的资源设置,并且在7.0.52中没有得到此设置。 我发现在启动时的错误报告中提到了这种情况,该错误报告应该已修复。对我来说,这不是在启动时发生的,而是在请求资源时不断发生的。 还有其他人遇到这个问题吗? 谢谢。 尝试至少仅禁用高速缓存,但是我找不到如何指定不使用高速缓存的示例。这些属性已从8中的上下文中删除。尝试添加资源,但无法正确获取配置。 <Resource name="file" cachingAllowed="false" className="org.apache.catalina.webresources.FileResourceSet" />

5
有没有办法关闭特定网站的客户端浏览器缓存?
这是一个与浏览器无关的问题,但我们正在使用IE9进行测试。 我们的用户访问的其中一个Web应用正在被随机缓存,并且在适当的时候没有显示更改。没有其他站点出现此问题,并且我们与供应商合作,后者声称对其他任何人都没有发生。如果我们使用开发人员工具栏并选择“从服务器强制刷新”,则所有内容都会正确更新。 除了真正解决问题外,我们的想法是通过为此特定站点禁用缓存来解决此问题。但是,我们不知道如何。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.