您的位置:首页 > 运维架构 > Apache

Apache自动优化前端页面的模块mod_pagespeed安装

2010-12-29 15:10 1321 查看
Apache自动优化前端页面的模块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

需要的环境:apache版本2.2以及以上
g++版本4.2以及以上
subversion
make

依赖关系:
安装depot_tools,用来建立多个开源项目与其它开源项目的依赖关系。
# mkdir ~/bin
# cd ~/bin
# svn co http://src.chromium.org/svn/trunk/tools/depot_tools
将depot_tools加入到PATH路径中
# exportPATH=$PATH:~/bin/depot_tools

下载mod_pagespeed并解除依赖关系:
# 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:
# cd ~/mod_pagespeed/src
# make V=1

安装mod_pagespeed:
# 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模块是否加载成功:
# ./apachectl -t -D DUMP_MODULES | grep pagespeed
Syntax OK
pagespeed_module (shared)

监视mod_pagespeed状态信息:
http://ip/mod_pagespeed_statistics

本文出自 “燕雀安知鸿鹄之志哉” 博客,请务必保留此出处http://who0168.blog.51cto.com/253401/467600
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: