我已将缓存指令添加到我的httpd.conf文件中,但无法发现如何验证它实际缓存页面并提供它们。我该如何验证?
我在服务器配置级别(不使用VirtualHost)添加了缓存指令:
CacheEnable disk /
CacheRoot /var/cache
CacheDefaultExpire 3600
答案 0 :(得分:6)
您可以通过确认以下几点来检查您的apache是否真正缓存了内容。
检查/ var / cache目录的大小。在你的apache被击中一段时间之后,它的大小应该会增长
您可以签入日志,应该回复代码302而不是200.
如果你匹配这两个点,那么应该有工作的mod_disk_cache模块。
答案 1 :(得分:2)
你可以简单地写一个快速的php页面。如果刷新页面,右上角的时间不应再增加300秒。
<?php
header("Cache-Control: must-revalidate, max-age=300");
header("Vary: Accept-Encoding");
echo time()."<br>";
?>
答案 2 :(得分:2)
如果您将 SELECT extractvalue(column_value, '/row/id')
"id",extractvalue(column_value, '/row/name') "name"
FROM( TABLE(XMLSequence(XMLTYPE('<root><row><id>id1</id><name>mm</name>
</row></root>').extract('/root/row'))))T ;
添加到LogFormat行,它将显示在您的访问日志文件中。
答案 3 :(得分:1)
304并不意味着您的内容是从缓存提供的。但是,查看文件夹/ var / cache / mod_proxy可以看到内容和大小的增长。
在httpd.conf中添加此
SetEnv CACHE_MISS 1
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{CACHE_MISS}e" combined
现在我的日志更改如下
在
192.xx.xx.xx - - [29/Oct/2015:10:11:12 -0400] "GET /pathToResource/javascript/extjs/lib/extjs4/ext-all.js HTTP/1.1" 304 - "https://my-url" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36"
如上所述更改后
192.xx.xx.xx - - [29/Oct/2015:10:11:12 -0400] "GET /pathToResource/javascript/extjs/lib/extjs4/ext-all.js HTTP/1.1" 304 - "https://my-url" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36" 1
最后通知1。 下次如果您在浏览器中执行F5,您应该会看到所投放的资源相同,并且最后不会有 1 。
答案 4 :(得分:0)
请尝试以下设置。
<IfModule mod_cache.c>
LoadModule cache_disk_module /usr/lib/apache2/modules/mod_cache_disk.so
<IfModule mod_disk_cache.c>
CacheDefaultExpire 3600
CacheEnable disk /
CacheRoot "/path/to/cache/folder/"
CacheDirLevels 2
CacheDirLength 1
</IfModule>
</IfModule>
答案 5 :(得分:0)
CacheRoot "/var/cache/folder"
检查
/var/log/apache2/error.log
如果有任何权限错误,它不会在目录中写入,给该目录提供apache2权限,如下所示
mkdir -p /var/cache/folder/
chown root:www-data /var/cache/apache2/mod_cache_disk/ -R
chmod 775 /var/cache/apache2/mod_cache_disk/ -R
访问页面检入文件夹将出现目录结构,并且有两个文件用于标题,另一个用于数据。如果它会显示数据缓存其他明智配置缺少的东西,我配置这是工作,缓存页面也在我的情况下显示200状态
答案 6 :(得分:0)
验证工作缓存的简单测试:
setDevice
curl "http://mydomain/my/page?test_param"