Apache添加磁盘缓冲模块mod_disk_cache
若你的Apache尚未安装,在./configure 的时候写入 --enable-cache --enable-disk-cache 即可,然后make&& make install
若你的Apache已安装好了:
首先,加入缓存支持的父模块mod_cache.c,该文件必须和cache_util.c cache_cache.c cache_storage.c cache_pqueue.c cache_hash.c一起编译,否则会出现类似:
Cannot load /usr/local/apache2/modules/mod_cache.so into server: /usr/local/apache2/modules/mod_cache.so: undefined symbol: cache_generate_key_default 的错误
# cd /usr/local/src/software/httpd-2.2.6/modules/cache/
#/usr/local/apache2/bin/apxs -i -c ./mod_cache.c cache_util.c cache_cache.c cache_storage.c cache_pqueue.c cache_hash.c
# /usr/local/apache2/bin/apxs -i -c ./mod_disk_cache
如果报这个错:
apxs:Error: Sorry, cannot determine bootstrap symbol name.
apxs:Error: Please specify one with option `-n'.
加个-n参数.给它起个名字
# /usr/local/apache2/bin/apxs -i -c -n disk_cache_module ./mod_disk_cache
然后,
# vi /usr/local/apache2/bin/apr-1-config
将LDFLAGS="" 改成 LDFLAGS="-lz"
最后,
# vi /usr/local/apache2/conf/httpd.conf
加入
CacheRoot /var/cache/apache/ //缓存文件所在的目录,运行 Apache 的用户(如daemon 或 nobody)要能对其进行读写,如果不清楚的话可以直 接设置成 777,请手动建立该目录并设置好访问权限
CacheEnable disk / //启用缓存,第1个参数是缓存内容,这里当然是 disk了, 第2个参数是缓存路径,指的是 url 路径,这里是缓存所 有的东西,直接写上“/”即可,如“/docs”则只缓存 /docs 下 的所有文件
CacheDirLevels 2 //缓存目录的深度,默认是3,这里设置为2
CacheDirLength 1 //缓存目录名的字符长度,默认是4,这里设置为1
其他可用参数:
CacheDefaultExpire: 设定缓存过期的时间(秒),默认是1小时,只有当缓存的文档没有设 置过期时间或最后修改时间时这个指令才会生效
CacheMaxFileSize 和 CacheMinFileSize:缓存文件的最大值和最小值(byte),当超过这个 范围时将不再缓存,这里设置为 1M 和 10bytes
测试
清空/var/cache/apache/目录,进入Apache主页进行访问,再查看,
有文件生成则说明缓存成功(有延迟),否则失败
页:
[1]