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的加速了

 

修改httpd.conf这个文件

#一个连接的最大请求数量
MaxKeepAliveRequests 10000
#NT环境,只能配置这个参数来提供性能
<IfModule mpm_winnt.c>
#每个进程的线程数,最大1920。NT只启动父子两个进程,不能设置启动多个进程
ThreadsPerChild 1900
每个子进程能够处理的最大请求数
MaxRequestsPerChild 10000
</IfModule>


LoadModule cache_module modules/mod_cache.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so

<IfModule mod_cache.c>
CacheForceCompletion 100
CacheDefaultExpire 3600
CacheMaxExpire 86400
CacheLastModifiedFactor 0.1

<IfModule mod_disk_cache.c>
CacheEnable disk /
CacheRoot c:/cacheroot
CacheSize 327680
CacheDirLength 4
CacheDirLevels 5
CacheGcInterval 4
</IfModule>
<IfModule mod_mem_cache.c>
CacheEnable mem /
MCacheSize 8192
MCacheMaxObjectCount 10000
MCacheMinObjectSize 1
MCacheMaxObjectSize 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)。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值