Apache加速模块mod_pagespeed安装使用详细介绍

 更新时间:2014年03月13日 11:11:08   作者:  
这篇文章主要介绍了Apache加速模块mod_pagespeed安装使用详细介绍,需要的朋友可以参考下

一.mod_pagespeed介绍
mod_pagespeed是一个适用于apache httpd的模块,由google发布的开源代码,可以自动完成优化工作,包括优化缓存,减少客户端服务器之间的通讯,降低负载等等。部署mod_pagespeed不用修改任何程序,安装完成后重启apache,一切前端问题自动优化。CDN服务商Cotendo已在其CDN服务器上部署mod_pagespeed以加速客户网站访问,图片文件大小经自动压缩可减少20%-30%,页面加载时间最多可缩短50%。GoDaddy也宣布将在其客户网站服务器上广泛部署mod_pagespeed。
mod_pagespeed项目主页:https://developers.google.com/speed/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 HTTP Server在服务网站资源时,mod_pagespeed module中的每种优化措施都被放到了可自定义的过滤器中。有些过滤器会直接的修改HTML内容,而另外一些过滤器会调整页面中引用的CSS,JavaScript和图片,从而构造出一种更优化的页面。
四、mod_pagespeed的安装
mod_pagespeed目前支持Apache和Nginx。Apache中简单的安装方法如下。安装完成之后,它会在yum里新建一个安装源,之后通过yum update更新就可以了。
Centos/Fedora下安装:

复制代码 代码如下:
#32位
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.rpm
#64位
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.rpm
yum install at
rpm -U mod-pagespeed-*.rpm

Debina/Ubuntu下安装:

复制代码 代码如下:

#32位
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb
#64位
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.deb
dpkg -i mod-pagespeed-*.deb

重启httpd:

复制代码 代码如下:
services httpd restart

查看pagespeed是否加载:
复制代码 代码如下:
httpd -M|grep pagespeed

五、mod_pagespeed的配置
一般在安装成功后,不需要任何配置就可以正常用,当然,如果你有更高的要求,可以参考以下内容。

1.创建配置文件

复制代码 代码如下:
vi /usr/local/apache/conf/pagespeed.conf #新建配置文件,请根据自己需求修改
LoadModule pagespeed_module /usr/local/apache/modules/mod_pagespeed_ap24.so
<IfModule pagespeed_module>
    ModPagespeed on
    ModPagespeedInheritVHostConfig on
    AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html
    ModPagespeedFileCachePath            "/var/cache/mod_pagespeed/"
    ModPagespeedFileCacheInodeLimit        500000
    ModPagespeedAvoidRenamingIntrospectiveJavascript on
    ModPagespeedEnableFilters collapse_whitespace
    <Location /mod_pagespeed_beacon>
          SetHandler mod_pagespeed_beacon
    </Location>
    <Location /mod_pagespeed_statistics>
        Order allow,deny
        Allow from localhost
        Allow from 127.0.0.1
        SetHandler mod_pagespeed_statistics
    </Location>
    ModPagespeedMessageBufferSize 100000

    <Location /mod_pagespeed_message>
        Allow from localhost
        Allow from 127.0.0.1
        SetHandler mod_pagespeed_message
    </Location>
</IfModule>

2.使用配置文件
复制代码 代码如下:

mkdir -p /var/mod_pagespeed/    #创建配置文件中配置的缓存目录
chown -R www.www /var/mod_pagespeed/
echo 'Include conf/pagespeed.conf' >> /usr/local/apache/conf/httpd.conf
/usr/local/apache/bin/apachectl  -t  #测试配置文件
Syntax OK
service httpd restart #重启apache

六、mod_pagespeed的高级应用
mod_pagespeed中有一系列的默认的优化选项(filter),在安装完成之后自动打开,只需要重启一下Apache就可以看到效果了。

基础的优化都已包含了,比如压缩CSS和Javascript、延长资源的过期时间、重写图片等,如果还想进一步优化,可以考虑几下选项:
1.remove_comments:删除源文件中的注释。绝大多数情况下,注释对于终端用户都是不可见的,删掉之后不影响浏览。而且mod_pagespeed可以识别出IE的条件注释而不去动它。
2.collapse_whitespace:删除源文件中的空白字符,同上,不影响浏览。
3.insert_dns_prefetch:指引浏览器提前进行DNS解析,如果你的博客中引用了其它站点的图片,比如本博客使用Google Cloud Storage作为图床,增加这个选项,可以让浏览器预先解析Cloud Storage的DNS,这样可以加速图片的下载速度。
增加选项需要修改/etc/httpd/conf.d/pagespeed.conf文件,并添加如下的代码。注意修改完之后依然需要重启Apache。

复制代码 代码如下:
ModPagespeedDisableFilters remove_comments,collapse_whitespace

另外,如果你的网站启用了HTTPS,你需要对HTTPS进行特殊的设置,因为HTTPS中通讯是加密的,mod_pagespeed无法得知其中的内容。设置也就一句话:
复制代码 代码如下:
ModPagespeedMapOriginDomain http://jb51.net https://jb51.net

都搞定之后,刷新一下页面看看效果吧。
七、临时禁用PageSpeed组件
在调试网站的时候,有时候需要禁用缓存组件,这样才可以看到最新的改动。这个时候Page Speed组件可能会变成一个障碍,它并不能及时地发现原始文件有所改变,从而重新进行缓存。
当然,禁用它也很简单,甚至连SSH都用不上。只需要在需要调试的URL后面加上参数ModPagespeed=off,比如这样:
复制代码 代码如下:
http://jb51.net/?ModPagespeed=off

就可以访问到没有经过Page Speed优化过的网页,如果你仔细看源文件,可以发现一些差别。

您可能感兴趣的文章:

相关文章

  • linux下修改MAC地址问题解决方法

    linux下修改MAC地址问题解决方法

    在linux中,修改MAC地址(修改的MAC地址跟原来的地址不同),接下来为大家介绍下修改MAC地址时所遇到的问题,感兴趣的朋友可以参考下哈
    2013-04-04
  • ZFS是什么?使用ZFS的理由及特性介绍

    ZFS是什么?使用ZFS的理由及特性介绍

    今天小编就为大家分享一篇关于ZFS是什么,及其特性介绍与使用理由的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-09-09
  • 在Apache服务器中运行CGI程序的方法

    在Apache服务器中运行CGI程序的方法

    这篇文章主要介绍了在Apache服务器中运行CGI程序的方法,文中以Perl脚本作为示例,需要的朋友可以参考下
    2015-07-07
  • time_t tm timeval 和 时间字符串的转换方法

    time_t tm timeval 和 时间字符串的转换方法

    下面小编就为大家带来一篇time_t tm timeval 和 时间字符串的转换方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Linux下安装pyenv的方法

    Linux下安装pyenv的方法

    这篇文章主要介绍了Linux下安装pyenv的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • yum 安装memcache permission denied(拒绝访问) 问题

    yum 安装memcache permission denied(拒绝访问) 问题

    这篇文章主要介绍了yum 安装memcache permission denied(拒绝访问) 问题,需要的朋友可以参考下
    2017-03-03
  • crontab定时任务不执行的一些原因总结

    crontab定时任务不执行的一些原因总结

    这篇文章主要给大家总结介绍了关于crontab定时任务不执行的一些原因,对每种可能发生的原因都给出了解决方法,对遇到这个问题的朋友们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • 解读crontab脚本错误日志和正确的输出写入到文件

    解读crontab脚本错误日志和正确的输出写入到文件

    这篇文章主要介绍了解读crontab脚本错误日志和正确的输出写入到文件问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Centos虚拟机上网配置IP方法

    Centos虚拟机上网配置IP方法

    本篇文章介绍了Centos虚拟机上网的ip配置问题,详细介绍了虚拟机的网络配置问题,感兴趣的小伙伴们可以参考一下。
    2016-10-10
  • linux使用QQ实现网络邮件报警功能

    linux使用QQ实现网络邮件报警功能

    这篇文章主要介绍了linux使用QQ实现网络邮件报警功能,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08

最新评论