设为首页 收藏本站
查看: 968|回复: 0

[经验分享] apache配置优化(六)

[复制链接]

尚未签到

发表于 2018-11-23 11:44:16 | 显示全部楼层 |阅读模式
Apache--mod_expires缓存模块(这是apache调优的重要参数)

mod_expires介绍:

mod_expires允许图片在用户浏览器进行缓存,用户打开网站,第一次会把图片加载到本地,如果在有效期呢,用户在访问,就不需要去网站读取,只是加载在本地。

好处一:提升用户体验

由于用户读本地缓存了,所以访问页面就快了,也节省网站的带宽流量成本。

好处二:节省网站带宽成本

由于读本地缓存了,和服务器的交互就少了,也节省网站带宽流量成本。

好处三:节省网站服务器及维护成本

由于用户读本地缓存了,和服务器的交互就少了,服务器的压力小了,服务器数量及维护人员等成本都降低了,这也是为什么taobao的缓存是10年过期。

expires失效条件:

1、内容过期

2、用户自己手动清除

控制expires方法:

如果网站更新功能或更新文件后,用户再访问时的内容还是旧的(上面已提到不会再下载了)

怎么解决这个问题呢?

1)首先,对于大公司业务来说,图片等资源一般很少会去修改。因此,taobao,jd可以肆无忌惮的吧expirts设置为10年。一年可以节省费用上亿元。

2)对于js,css偶尔会变化的资源,一般expires设置时间会比较短。如1-30天。

3)在更新文件上采取策略,如,更新后以新的文件名发布,这样对于用户又是新的资源了。

expires特殊缓存情况:

1)特殊缓存,google首页expires一日(经常会变更图片)

2)网站的js统计代码不会设置缓存



检查模块是否安装:

[root@eric6 ~]#/application/apache/bin/apachectl -l|grep mod_expires.c

mod_expires.c

[root@eric6 ~]#/application/apache/bin/apachectl -M|grep expires

expires_module (static)

Syntax OK

如果有以上两个参数,说明mod_expires已经编译安装

如果在查找的时候没有安装该模块,可以使用DSO方式安装:

[root@eric6metadata]# cd /home/tools/httpd-2.2.25/modules/metadata/

[root@eric6metadata]# ll mod_expires.c

-rw-r--r-- 1liuyalei liuyalei 18285 11月 12 2008mod_expires.c

[root@eric6 metadata]#/application/apache/bin/apxs -c -i -a mod_expires.c



[root@eric6metadata]# wget 127.0.0.1

--2013-10-2022:12:10--http://127.0.0.1/

Connecting to127.0.0.1:80... connected.

HTTP request sent,awaiting response... 200 OK

Length: 8[text/html]

Saving to:`index.html.1'



100%[==========================================================================================>]8--.-K/sin 0s



2013-10-20 22:12:10(1.77 MB/s) - `index.html.1' saved [8/8]



[root@eric6metadata]# curl -I 127.0.0.1

HTTP/1.1 200 OK

Date: Sun, 20 Oct2013 14:12:11 GMT

Server:Apache/2.2.25 (Unix) DAV/2

Last-Modified: Sat,19 Oct 2013 04:57:07 GMT

ETag:"43ddb-8-4e910e1fef476"

Accept-Ranges:bytes

Content-Length: 8

Content-Type:text/html

注释expires配置

ExpiresActive on#开启expires功能

ExpiresDefault "access plus 12month"#缺省缓存情况(12个月)

ExpiresByType text/html "accessplus 12 months"#缓存类型html

ExpiresByType text/css "accessplus 12 months"#缓存类型css

ExpiresByType image/gif "accessplus 12 months"#缓存类型gif

ExpiresByType image/jpeg "accessplus 12 months"#缓存类型jpeg

ExpiresByType image/jpg "accessplus 12 months"#缓存类型jpg

ExpiresByType image/png "accessplus 12 months"#缓存类型png

EXpiresByTypeapplication/x-shockwave-flash "access plus 12 months"#缓存类型flash

EXpiresByType application/x-javascript"access plus 12 months"#缓存类型JavaScript

ExpiresByType video/x-flv "accessplus 12 months"#缓存类型x-flv

实例:为一个server标签添加expires功能

[root@eric6apache]# vi /application/apache/conf/extra/httpd-vhosts.conf


ServerAdmin 952773925@qq.com

DocumentRoot "/var/bbs"

ServerName bbs.liuyalei.com

ServerAlias liuyalei.com

ErrorLog "logs/bbs-error_log"

CustomLog "logs/bbs-access_log"common

ExpiresActive on

ExpiresDefault "access plus 12month"

ExpiresByType text/html "accessplus 12 months"

ExpiresByType text/css "accessplus 12 months"

ExpiresByType image/gif "accessplus 12 months"

ExpiresByType image/jpeg "accessplus 12 months"

ExpiresByType image/jpg "accessplus 12 months"

ExpiresByType image/png "accessplus 12 months"

EXpiresByTypeapplication/x-shockwave-flash "access plus 12 months"

EXpiresByType application/x-javascript"access plus 12 months"

ExpiresByType video/x-flv "accessplus 12 months"


[root@eric6apache]# ../apache/bin/apachectl -t

Syntax OK

[root@eric6apache]# ../apache/bin/apachectl graceful

[root@eric6apache]# ps -ef|grep httpd

root473410 11:56 ?00:00:03/application/apache2.2.25/bin/httpd -k start

daemon817747340 22:30 ?00:00:00/application/apache2.2.25/bin/httpd -k start

daemon817847340 22:30 ?00:00:00/application/apache2.2.25/bin/httpd -k start

daemon817947340 22:30 ?00:00:00/application/apache2.2.25/bin/httpd -k start

daemon818047340 22:30 ?00:00:00/application/apache2.2.25/bin/httpd -k start

root826379690 22:30 pts/000:00:00 grep httpd

服务端网站上传一张图片,然后在火狐浏览器安装2个插件,进行查看,检查缓存情况:

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-638640-1-1.html 上篇帖子: Apache虚拟主机配置(五) 下篇帖子: apache配置优化(七)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表