一,引言 以前我写过二篇有关图片,静态文件的缓存文章,一个是用varnish 来缓存,一个用squid 来缓存,apache当然也可以用来做图片,静态文件的缓存,下面我将详细说明一下,怎么完装和配置 二,安装mod_cache,mod_mem_cache,mod_disk_cache 先查一下,安装apache的时候,有没有安装这些模块,如果没有安装就安装一下,请参考apache怎么安装模块 ,查看是否安装 [zhangy@BlackGhost error]$ /usr/local/apache2/bin/httpd -l 如果没有mod_cache.c,mod_mem_cache.c,mod_disk_cache.c 说明没有装mod_mem_cache,mod_disk_cache不一定要都装,你可以二选一
三,内存缓存配置 nano /usr/local/apache2/conf/httpd.conf
说明: 1,CacheEnable mem /images 缓存images下面的内容,这里的 mem只是一个缓存类型,指示mod_cache使用内存的存储管理器通过实施mod_mem_cache 。缓存类型disk指示mod_cache使用基于磁盘的存储管理的实施mod_disk_cache 。缓存类型,fd指示mod_cache使用文件描述符缓存实施mod_mem_cache 2,MCacheSize最大内存使用量,插入在缓存和对象大小的对象是大于剩余内存,将被删除,直到新的对象可以被缓存。 被删除的对象选择使用指定的算法MCacheRemovalAlgorithm 3,MCacheRemovalAlgorithm缓存算法:
4,MCacheMaxObjectCount最大缓存对像个数 5,MCacheMaxObjectCount最大缓存对像字节数 6,MCacheMinObjectSize最小缓存对像字节数 7,CacheMaxExpire 最大缓存结止时间 8,CacheDefaultExpire 默认缓存结止时间 9,CacheDisable /php 不缓存php下面的内容 查看内存是不是缓存了东西 apache查看有没有在内存中缓存东西,不是很好查,没有专门的工具来查看,我的方法如下, 1,浏览图片http://localhost/images/http_imgload.cgi.jpeg 2,查看一下[zhangy@BlackGhost error]$ top -b -n1 3,浏览图片http://localhost/images/myself.jpeg 4,查看一下[zhangy@BlackGhost error]$ top -b -n1
6018 zhangy 20 0 52612 8172 2484 S 0 0.8 0:00.03 httpd 通过上面的4步操作,你可以发现上面加粗部分的RES是不断增加的,由起可见,配置已经成功。 四,硬盘缓存配置 nano /usr/local/apache2/conf/httpd.conf
说明: 1,cacheroot /home/zhangy/cachetest 缓存存放的目录 2,#CacheSize 256 缓存空间大小单位KB 3,CacheEnable disk / 设置缓存方式 4,#CacheMaxFileSize 64000 最大缓存文件大小 5,#CacheMinFileSize 1 最小缓存文件大小 6,#CacheGcDaily 23:59 缓存清理时间 7,CacheDirLength 3 缓存文件夹名子字符长度 8,CacheDirLevels 4 缓存目录,子目录层次 注释掉的部分,我的apache版本不支持。官方手册上面有。具体需求请参考官方网站 查看缓存: 1,查看cacheroot有没有东西 apache cache 如果CacheRoot下面有东西,说明已经OK了。 2,用htcacheclean来查看
[root@BlackGhost cache]# /usr/sbin/htcacheclean -v -p /home/zhangy/cachetest -l 1024M htcacheclean 部分参数说明下 -d 每隔多长时间清一个缓存 -D 模拟清除缓存,但不是真的清 -v 显示统计信息 -r 彻底清除 -t 清除空目录 -p 缓存目录 -l 限定缓存大小 (责任编辑:IT) |