Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何清除已删除apache virtualhost的缓存数据?_Apache_Varnish - Fatal编程技术网

如何清除已删除apache virtualhost的缓存数据?

如何清除已删除apache virtualhost的缓存数据?,apache,varnish,Apache,Varnish,我已经为一个服务于多个Web服务的服务器设置了Varnish。现在我想删除其中一个Web服务,所以我从服务器上删除了此Web服务的文件,删除了此Web服务的Apache VirtualHost,并重新启动了Apache。但是,对此Web服务的请求仍然会返回响应 所以我认为这些数据仍然缓存在Varnish中,我所要做的就是清除这些缓存的数据。但这并不奏效。我尝试过的命令如下: varnishadm-T:6082-S/etc/varnish/secret“ban.url/” varnishadm-

我已经为一个服务于多个Web服务的服务器设置了Varnish。现在我想删除其中一个Web服务,所以我从服务器上删除了此Web服务的文件,删除了此Web服务的Apache VirtualHost,并重新启动了Apache。但是,对此Web服务的请求仍然会返回响应

所以我认为这些数据仍然缓存在Varnish中,我所要做的就是清除这些缓存的数据。但这并不奏效。我尝试过的命令如下:

  • varnishadm-T:6082-S/etc/varnish/secret“ban.url/”
  • varnishadm-T:6082-S/etc/varnish/secret“ban.url.”
  • varnishadm-T:6082-S/etc/varnish/secret“ban-req.http.host~DOMAIN”
  • varnishadm-T:6082-S/etc/varnish/secret“ban-req.http.host==DOMAIN”
我还重新启动了Varnish服务,但没有任何效果


我对Varnish不是很熟悉,但这些是我在谷歌搜索如何清除Varnish缓存后发现的一些命令。但也许我遗漏了一些简单的东西?

作为一种解决方法,我重新创建了VirtualHost,但从其文档根目录中删除了所有文件。这样Varnish将返回正确的404 Not Found响应。对于我的情况,这已经足够了,但这不是一个很好的解决方案。

除非您使用的是不稳定的“持久”存储类型,否则Varnish不会在重新启动时持久化任何缓存对象。这告诉我,您可能没有正确地重新启动varnish,或者内容被缓存在其他地方。你能再检查一遍清漆是否重新启动(检查处理时间等)。同时检查内容的最大年龄,因为它可能已经存在于其他地方的缓存中。。。