免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 9472 | 回复: 10
打印 上一主题 下一主题

[Web] Apache 设置web 缓存 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-24 14:07 |只看该作者 |倒序浏览
默认情况下,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的加速了

论坛徽章:
0
2 [报告]
发表于 2006-02-28 10:03 |只看该作者
既然使用了APACHE的缓存功能,为什么还要使用外接的cache或squid,有点搞不明白?

哪位高人给解释一下!

论坛徽章:
0
3 [报告]
发表于 2006-03-01 15:40 |只看该作者
打开的这个模块只是让apache的web页面允许被缓存.如果不打开这项功能,你就是用squid也无法缓存住web页面.明白?

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
4 [报告]
发表于 2006-03-01 15:42 |只看该作者
不错

论坛徽章:
0
5 [报告]
发表于 2006-03-01 17:26 |只看该作者
如果外接了cache或squid服务器要求进行web加速的话,就需要在htttpd.conf里进行设置!

这是不是一个大前提!

如果我单纯的只是WEB服务器,安装的时候激活mod_cache的模块,是不是也可以加速对我网站的访问速度?

论坛徽章:
0
6 [报告]
发表于 2006-03-02 06:52 |只看该作者
原帖由 basketball610 于 2006-3-1 15:40 发表
打开的这个模块只是让apache的web页面允许被缓存.如果不打开这项功能,你就是用squid也无法缓存住web页面.明白?



不完全同意,外部cache不依赖于web服务器的设定来工作的。apache的cache 模块不会影响外部cache。唯一对外部cache有影响的是过期时间。

对于squid,因为没有用过,所以不是十分了解。

论坛徽章:
0
7 [报告]
发表于 2006-03-02 10:09 |只看该作者
原帖由 basketball610 于 2006-3-1 15:40 发表
打开的这个模块只是让apache的web页面允许被缓存.如果不打开这项功能,你就是用squid也无法缓存住web页面.明白?



还是不太明白,如果这样的话,APACHE的MOD_CACHE的功能也太局限了,Squid应该可以对任何WEB服务器缓存,不一定是必须安装了MOD_CACHE模块的APACHE。我用Squid对TOMCAT进行了缓存,效果也不错,现在就想是抛开Squid的这样的软件直接用APACHE的缓存功能,不知可否?

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2006-03-02 11:35 |只看该作者
squid的缓存不需要,在apache上特殊设置。

apache的缓存在2.*版本已经分化成mod_proxy,和mod_cache
mod_cache又区分mem和disk两种

论坛徽章:
0
9 [报告]
发表于 2006-03-06 12:53 |只看该作者
谢谢大家对我这篇文章的关照.关于squid与apache的关系,我新开了一篇讨论的帖子.欢迎大家积极去发表看法.
http://bbs.chinaunix.net/viewthread.php?tid=711657&extra=

论坛徽章:
0
10 [报告]
发表于 2006-12-17 19:13 |只看该作者
文章写的不好,写的不清楚。
最后一句话不明白他写的是什么意思。
有没有高手整理一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP