基于硬盘文件存储的缓存由 mod_disk_cache 模块实现,先看个简单的配置例子:<IfModule mod_cache.c>
CacheDefaultExpire 86400
<ifModule mod_disk_cache.c>
CacheEnable disk /
CacheRoot /tmp/apacheCache
CacheDirLevels 5
CacheDirLength 5
CacheMaxFileSize 1048576
CacheMinFileSize 10
</ifModule mod_disk_cache.c>
</IfModule mod_cache.c>
把上面的配置加到 Apache 的 httpd.conf 文件中,如果缓存相关的模块都已经编译进了 Apache 的核心,则无需加载模块,直接就能使用上面的指令。
指令的详细说明如下:
CacheDefaultExpire: 设定缓存过期的时间(秒),默认是1小时,只有当缓存的文档没有设置过期时间或最后修改时间时这个指令才会生效。
CacheEnable:启用缓存,第1个参数是缓存类弄,这里当然是 disk了,第2个参数是缓存路径,指的是 url 路径,这里是缓存所有的东西,直接写上“/”即可,如“/docs”则只缓存 /docs 下的所有文件。
CacheRoot:缓存文件所在的目录,运行 Apache 的用户(如daemon 或 nobody)要能对其进行读写,如果不清楚的话可以直接设置成 777,请手动建立该目录并设置好访问权限。
CacheDirLevels:缓存目录的深度,默认是3,这里设置为5。
CacheDirLength:缓存目录名的字符长度,默认是4,这里设置为5。
CacheMaxFileSize 和 CacheMaxFileSize:缓存文件的最大值和最小值(byte),当超过这个范围时将不再缓存,这里设置为 1M 和 10bytes。
基于硬盘文件存储的文件基本上就这些内容,设置好后重启 Apache 应该就能使用了。
一切正常的话,可以在缓存目录下看到 Apache 自动建立的一些目录和缓存的数据文件。