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

默北 Apache512,574字数 3285阅读10分57秒阅读模式

一.mod_pagespeed介绍

mod_pagespeed是一个适用于apache httpd的模块,由google发布的开源代码,目前只支持apache2.2版本,可以自动完成优化工作,包括优化缓存,减少客户端服务器之间的通讯,降低负载等等。

部署mod_pagespeed不用修改任何程序,安装完成后重启apache,一切前端问题自动优化。CDN服务商Cotendo已在其CDN服务器上部署mod_pagespeed以加速客户网站访问,图片文件大小经自动压缩可减少20%-30%,页面加载时间最多可缩短50%。GoDaddy也宣布将在其客户网站服务器上广泛部署mod_pagespeed。文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

mod_pagespeed功能:文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

1.Optimize Caching优化缓存文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

Extend Cache扩展缓存文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

Outline CSS文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

Outline JavaScript文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

2.Minimize Round Trip Times最大限度地减少往返时间文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

Combine CSS 合并CSS文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

Inline CSS 内嵌CSS文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

Inline JavaScript 内嵌JavaScript文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

3.Minimize Payload Size最小化有效载荷尺寸文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

Collapse Whitespace 压缩空白文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

Combine Heads 合并头信息文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

Elide Attributes 省略属性文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

Minify Javascript 缩小Javascript文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

Optimize Images 优化图片文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

Remove Comments 删除注释文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

Remove Quotes 删除引用文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

Rewrite CSS 重写CSS文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

Move CSS to HEAD 加载CSS到head文章源自运维生存时间-https://www.ttlsa.com/apache/apache-mod_pagespeed-1/

Add Head

Add Instrumentation

二.mod_pagespeed安装

从源码安装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

weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
默北
  • 本文由 发表于 07/02/2012 21:23:31
  • 转载请务必保留本文链接:https://www.ttlsa.com/apache/apache-mod_pagespeed-1/
评论  5  访客  3
    • 禅猫
      禅猫 1

      你好博主,如果是Nginx+Apache的环境 怎样使用?

        • 博主
          博主 9

          @ 禅猫 nginx+Apache,这两个web服务器其中一个装pagespeed就可以了

            • 禅猫
              禅猫 1

              @ 博主 谢谢分享!这样啊,那我还是装a把,处理后台比较多谢!

        评论已关闭!