位置:海鸟网 > IT > linux/Unix >

Apache 设置web 缓存

默认情况下,apache安装完以后,是不允许被cache的。如果外接了cache或squid服务器要求进行web加速的话,就需要在htttpd.conf里进行设置,当然前提是在安装apache的时候要激活mod_cache的模块。 
以下简单介绍一下安装与配置的步骤: 
1. apache版本:httpd-2.0.49.tar.gz 
2. 安装httpd-2.0.49.tar.gz: 
# tar –zxvf httpd-2.0.49.tar.gz 
# cd httpd-2.0.49 
#./configure --enable-cache --enable-disk-cache --enable-mem-cache 
#mke 
#make install 

3. 检验是否安装了cache模块 
/usr/local/apache2/bin/apachectl –l 
如果有mod_cache.c 
  mod_disk_cache.c 
  mod_mem_cache.c 
这3个模块,说明该apache可以支持cache了 
4.更改httpd.conf的设置 
vi /usr/local/apache2/conf/httpd.conf 
在末尾添加上: 
<IfModule mod_cache.c> 

CacheForceCompletion 100 
  CacheDefaultExpire 3600 
  CacheMaxExpire 86400 
  CacheLastModifiedFactor 0.1 
</IfModule> 

5.设置虚拟目录 
然后保存退出。启动apache 

6.参数的解释: 
mod_cache: 
CacheEnable: 启动 mod_cache,其后接两个参数。第一个参数指定快取的种类,应设为 mem (记忆体快取) 或 disk (磁碟快取) 之其一;第二个参数指定使用快取的 URI 路径,如果对整个网站 (或虚拟主机) 进行快取,简单指定为根目录(/) 即可。 
CacheForceCompletion: 这个值指定当 HTTP request 被取消时,内容的产生动作要完成的百分比;预设是 60(%)。 
CacheDefaultExpire: 指定快取的预设过期秒数;预设值是一小时 (3600)。 
CacheMaxExpire: 指定快取最大的过期秒数;预设值是一天 (86400)。 
CacheLastModifiedFactor: 用来从回应里 Last Modified 资讯算出 expire date。 
计算方式是: 
expire period (过期时距) = 最后更新后至今的时间间距 * CacheLastModifiedFactor 
而 
expire date = 目前时间 + expire period 
不过无论如何,过期时间不能超过 CacheMaxExpire 的设定值。 

现在。如果用squid对该服务器进行反向代理的话,就可以通过cache 实现web的加速了