- A+
一.mod_pagespeed介绍
mod_pagespeed是一个适用于apache httpd的模块,由google发布的开源代码,目前只支持apache2.2版本,可以自动完成优化工作,包括优化缓存,减少客户端服务器之间的通讯,降低负载等等。
部署mod_pagespeed不用修改任何程序,安装完成后重启apache,一切前端问题自动优化。CDN服务商Cotendo已在其CDN服务器上部署mod_pagespeed以加速客户网站访问,图片文件大小经自动压缩可减少20%-30%,页面加载时间最多可缩短50%。GoDaddy也宣布将在其客户网站服务器上广泛部署mod_pagespeed。
mod_pagespeed功能:
1.Optimize Caching优化缓存
Extend Cache扩展缓存
Outline CSS
Outline JavaScript
2.Minimize Round Trip Times最大限度地减少往返时间
Combine CSS 合并CSS
Inline CSS 内嵌CSS
Inline JavaScript 内嵌JavaScript
3.Minimize Payload Size最小化有效载荷尺寸
Collapse Whitespace 压缩空白
Combine Heads 合并头信息
Elide Attributes 省略属性
Minify Javascript 缩小Javascript
Optimize Images 优化图片
Remove Comments 删除注释
Remove Quotes 删除引用
Rewrite CSS 重写CSS
Move CSS to HEAD 加载CSS到head
Add Head
Add Instrumentation
二.mod_pagespeed安装
从源码安装mod_pagespeed
需要的环境:apache版本2.2以及以上
g++版本4.2以及以上
subversion
make
依赖关系:
安装depot_tools,用来建立多个开源项目与其它开源项目的依赖关系。
1 2 3 |
# mkdir ~/bin # cd ~/bin # svn co http://src.chromium.org/svn/trunk/tools/depot_tools |
将depot_tools加入到PATH路径中
1 |
# exportPATH=$PATH:~/bin/depot_tools |
下载mod_pagespeed并解除依赖关系:
1 2 3 4 |
# mkdir ~/mod_pagespeed # cd ~/mod_pagespeed #gclient config http://modpagespeed.googlecode.com/svn/tags/0.9.11.5/src #gclient sync --force //下载mod_pagespeed源码文件 |
编译mod_pagespeed:
1 2 |
# cd ~/mod_pagespeed/src # make V=1 |
安装mod_pagespeed:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# cd install consolas # vim Makefile //更改有关apache路径 APACHE_ROOT = /usr/local/apache2.2.15 APACHE_MODULES = $(APACHE_ROOT)/modules APACHE_DOC_ROOT = /www APACHE_CONTROL_PROGRAM = /usr/local/apache2.2.15/bin/apachectl STAGING_DIR = /tmp/mod_pagespeed.install MOD_PAGESPEED_FILE_ROOT = /usr/local/apache2.2.15/mod_pagespeed APACHE_USER = nobody APACHE_CONF = $(APACHE_ROOT)/conf/extra # make staging rm -rf /tmp/mod_pagespeed.install mkdir -p /tmp/mod_pagespeed.install sed -e s@APACHE_DOC_ROOT@/www@g \ -e s!@@MODPAGESPEED_CACHE_ROOT \ @@!/usr/local/apache2.2.15/mod_pagespeed!g \ -e "s@# ModPagespeedSlurpDirectory ... \ @#ModPagespeedSlurpDirectory ...@g" -e "s@# ModPagespeedSlurpReadOnly on@#ModPagespeedSlurpReadOnly on@g" \ -e "s@^#STRESS.*@@" common/pagespeed.conf.template \ debug.conf.template > /tmp/mod_pagespeed.install/pagespeed.conf sed -e s@HOSTNAME@132file@g -e s@APACHE_MODULES \ @/usr/local/apache2.2.15/modules@g proxy.conf.template > \ /tmp/mod_pagespeed.install/proxy.conf echo "LoadModule \ pagespeed_module /usr/local/apache2.2.15/modules/mod_pagespeed.so" \ > /tmp/mod_pagespeed.install/pagespeed.load echo "LoadModule deflate_module /usr/local/apache2.2.15/modules/mod_deflate.so" \ >> /tmp/mod_pagespeed.install/pagespeed.load cp -rp mod_pagespeed_example /tmp/mod_pagespeed.install cp ../out/Release/libmod_pagespeed.so /tmp/mod_pagespeed.install/mod_pagespeed.so # make install mkdir -p /usr/local/apache2.2.15/mod_pagespeed/cache mkdir -p /usr/local/apache2.2.15/mod_pagespeed/files chown -R nobody /usr/local/apache2.2.15/mod_pagespeed cat /tmp/mod_pagespeed.install/pagespeed.load \ /tmp/mod_pagespeed.install/pagespeed.conf \ > /usr/local/apache2.2.15/conf/extra/pagespeed.conf rm -rf /www/mod_pagespeed_example cp -r /tmp/mod_pagespeed.install/mod_pagespeed_example /www chown -R nobody /www/mod_pagespeed_example cp /tmp/mod_pagespeed.install/mod_pagespeed.so /usr/local/apache2.2.15/modules # vim httpd.conf Include conf/extra/pagespeed.conf # make stop start sudo /usr/local/apache2.2.15/bin/apachectl stop sudo /usr/local/apache2.2.15/bin/apachectl start |
检查mod_pagespeed模块是否加载成功:
1 2 3 |
# ./apachectl -t -D DUMP_MODULES | grep pagespeed Syntax OK pagespeed_module (shared) |
三.监视mod_pagespeed状态信息:
http://ip/mod_pagespeed_statistics

04/04/2014 下午 11:50 沙发
你好博主,如果是Nginx+Apache的环境 怎样使用?
05/04/2014 上午 12:20 1层
@禅猫 nginx+Apache,这两个web服务器其中一个装pagespeed就可以了
05/04/2014 上午 1:05 2层
@博主 谢谢分享!这样啊,那我还是装a把,处理后台比较多谢!
来自外部的引用: 2