Apache自动优化前端页面的模块mod_pagespeed安装 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

    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 加载CSShead

Add Head 

Add Instrumentation 

从源码安装mod_pagespeed

需要的环境:apache版本2.2以及以上

g++版本4.2以及以上

subversion

make

依赖关系:

安装depot_tools,用来建立 多个开源项目与其它开源项目的依赖关系

# mkdir ~/bin

# cd ~/bin

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状态信息: