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优化过的网页,如果你仔细看源文件,可以发现一些差别。

(0)

相关推荐

  • Apache 安装配置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/

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

    一.mod_pagespeed介绍mod_pagespeed是一个适用于apache httpd的模块,由google发布的开源代码,可以自动完成优化工作,包括优化缓存,减少客户端服务器之间的通讯,降低负载等等.部署mod_pagespeed不用修改任何程序,安装完成后重启apache,一切前端问题自动优化.CDN服务商Cotendo已在其CDN服务器上部署mod_pagespeed以加速客户网站访问,图片文件大小经自动压缩可减少20%-30%,页面加载时间最多可缩短50%.GoDaddy也宣布

  • zabbix 2.2安装步骤详细介绍

    Zabbix简介 Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利. 官方网站:http://www.zabbix.com 官方文档:http://www.zabbix.com/documentation/2.0/manual/quickstart. Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置. Zabbix运行条件: Server:Zabbix Server需运行在LAMP(Lin

  • Python 通过pip安装Django详细介绍

    Python 通过pip安装Django详细介绍 经过前面的 Python 包管理工具的学习,接下来我们就要基于前面的知识,来配置 Django 的开发与运行环境. 首先是安装 Django(通过pip安装): pip install Django 输出的结果在我这里是这样的: Downloading/unpacking Django Downloading Django-1.5.2.tar.gz (8.0MB): 8.0MB downloaded Running setup.py egg_in

  • mysql zip archive 版本(5.7.19)安装教程详细介绍

    1.  从官网下载zip archive版本http://dev.mysql.com/downloads/mysql/ MySQL v5.7.19 官方正式版(32/64位 安装版与zip解压版) 2. 解压缩至相应目录,并配置环境变量(将*\bin添加进path中): 3. 理论上现在这样就可以直接安装服务了,但是因为是默认配置,我们使用的时候会出现很多问题.比如里面的汉字全是乱码之类的,所以建议先配置一下默认文件.在解压的mysql目录下,新建个my.ini,//在根目录新建my.ini文件

  • php检测apache mod_rewrite模块是否安装的方法

    本文实例讲述了php检测apache mod_rewrite模块是否安装的方法.分享给大家供大家参考.具体实现方法如下: /** * @title Check if Apache's mod_rewrite is installed. * * @author Pierre-Henry Soria <ph7software@gmail.com> * @copyright (c) 2013, Pierre-Henry Soria. All Rights Reserved. * @return bo

  • 各种Python库安装包下载地址与安装过程详细介绍(Windows版)

    在用Python开发时(Windows环境),会碰到需要安装某个版本的第三方库,为了以后查找.安装方便,总结如下: windows版的各种Python库安装包下载地址: http://www.lfd.uci.edu/~gohlke/pythonlibs/ 一.打开cmd 二.将cmd当前目录切换到Downloads,命令为cd Downloads 三.在文章开头链接地址下载所需第三方库,以SciPy为例:0.18.1是库版本号:cp27.cp35分别对应Python2.7.Python3.5:w

  • python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例

    python爬虫模块Beautiful Soup简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能.它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序.Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码.你不需要考虑编码方式,除非

  • python爬虫开发之Request模块从安装到详细使用方法与实例全解

    python爬虫模块Request的安装 在cmd中,使用如下指令安装requests: pip install requests python爬虫模块Request快速上手 Requests 已安装 Requests 是最新的 Request模块发送请求 使用 Requests 发送网络请求非常简单. 一开始要导入 Requests 模块: >>> import requests 然后,尝试获取某个网页.本例子中,我们来获取 Github 的公共时间线: >>> r

  • docker kubernetes dashboard安装部署详细介绍

    docker之kubernetes dashboard部署 1. 环境说明: 1). 架构: 注: 本次实验服务器环境均采用centos 7. 服务安装均采用yum install. 192.168.3.7 master 192.168.3.16 node 2).使用的软件包: master: docker kubernetes-master etcd flannel nodes: docker kubernetes-node flannel 3). 软件版本: docker: 1.10.3 k

  • 极验验证码 安装部署详细介绍

    随着互联网在人们生活中的地位越来越高,互联网安全问题也开始变得重要起来. 互联网黑色产业链就是互联网安全领域最强劲的敌人. 想必大家对于黑产都有所了解,那么黑产具体是怎么运作盈利的呢?大家可以查看下图哦~ 所以,保护账户安全是抗击黑产的第一步!而验证码就是确保账户安全的重要途径! 传统验证码不仅给用户带来了非常差的体验,而且在安全性上也开始抵抗不了黑客的恶意攻击!因此,安全性高.用户体验好的新型验证码才是我们需求的! 目前市场上,广受好评的"极验验证码",我觉得就很不错~ 大家可以体验

随机推荐