默认情况下,apache安装完以后,是不允许被cache的。如果外接了cache或squid服务器要求进行web加速的话,就需要在htttpd.conf里进行设置,当然前提是在安装apache的时候要激活mod_cache的模块。以下简单介绍一下安装与配置的步骤:1. apache版本:httpd-2.0.49.tar.gz2. 安装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.cmod_disk_cache.cmod_mem_cache.c这3个模块,说明该apache可以支持cache了4.更改httpd.conf的设置vi /usr/local/apache2/conf/httpd.conf在末尾添加上:<IfModule mod_cache.c>
CacheForceCompletion 100CacheDefaultExpire 3600CacheMaxExpire 86400CacheLastModifiedFactor 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的加速了
修改httpd.conf这个文件
#一个连接的最大请求数量MaxKeepAliveRequests 10000#NT环境,只能配置这个参数来提供性能<IfModule mpm_winnt.c>#每个进程的线程数,最大1920。NT只启动父子两个进程,不能设置启动多个进程ThreadsPerChild 1900每个子进程能够处理的最大请求数MaxRequestsPerChild 10000</IfModule>
LoadModule cache_module modules/mod_cache.soLoadModule disk_cache_module modules/mod_disk_cache.soLoadModule mem_cache_module modules/mod_mem_cache.so
<IfModule mod_cache.c>CacheForceCompletion 100CacheDefaultExpire 3600CacheMaxExpire 86400CacheLastModifiedFactor 0.1
<IfModule mod_disk_cache.c>CacheEnable disk /CacheRoot c:/cacherootCacheSize 327680CacheDirLength 4CacheDirLevels 5CacheGcInterval 4</IfModule><IfModule mod_mem_cache.c>CacheEnable mem /MCacheSize 8192MCacheMaxObjectCount 10000MCacheMinObjectSize 1MCacheMaxObjectSize 51200</IfModule></IfModule>
####################################################參考資料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 的設定值。
mod_disk_cache:
CacheRoot: 指定磁碟快取所使用的目錄。CacheSize: 以 KByte 為單位指定快取使用的磁碟空間大小。CacheDirLength: 指定各目錄 (的鍵值) 存在於快取階層 (hierarchy) 中所使用
的字元數。CacheDirLevels: 指定快取的目錄層數; CacheDirLength 與此 CacheDirLevels
設定值相乘不能超過 20。CacheGcInterval: 指定收垃圾 (Garbage Collection) 的動作間隔時間;單位是
小時。不過根據 Apache2 文件,這個指令還 沒有被實作 。mod_mem_cache:
MCacheSize: 以 KByte 為單位指定快取使用的記憶體空間大小。MCacheMaxObjectCount: 指定快取物件數目的最大值;預設值是 1009。MCacheMaxObjectSize: 指定最大可快取物件的大小,單位是 Byte;預設值是
10000 (Bytes)。MCacheMinObjectSize: 指定最小可快取物件的大小,單位是 Byte;預設值是 0
(Bytes)。