网站搜索

安装 Mod_Pagespeed 可将 Apache 和 Nginx 性能提高 10 倍


这是我们正在进行的关于 Apache 优化和性能调优的系列,在这里我们将介绍一个新的 Google 产品,称为 mod_pagespeed 模块,用于 ApacheNginx 使网站加载速度比以往更快。

我亲自在我们的 Live (howtoing.com) 服务器上测试了这个模块,结果令人惊叹,现在网站加载速度比以前快得多。我建议大家安装它并查看结果。

不要错过: 提升 Apache Web 服务器性能的 5 个技巧

在本文中,我们将向您展示如何为 ApacheNginx 网络安装和配置 Googlemod_pagespeed 模块RHEL/CentOS/服务器FedoraDebian/Ubuntu 系统使用官方二进制包,以便您系统将自动定期更新并保持最新状态。

什么是 Mod_PageSpeed

mod_pagespeedApacheNginx Web 服务器的开源模块,可自动优化网页以提高性能,同时使用HTTP 服务器提供网页服务。

它有几个过滤器,可以自动优化文件,例如 HTMLCSSJavaScriptJPEGPNG< 和其他资源。

mod_pagespeed 在 PageSpeed 优化库上开发,已部署超过 100K 个网站,并由最流行的 CDN 和托管提供商(例如 GoDaddy、EdgeCast、DreamHost 等)提供。

它提供了 40 多个优化过滤器,其中包括:

  1. 图像优化、压缩和调整大小
  2. CSS 和 JavaScript 连接、缩小和内联
  3. 缓存扩展、域分片和重写
  4. JS和图片资源的延迟加载
  5. 还有许多其他人……

目前 mod_pagespeed 模块支持的 Linux 平台有 RHEL/CentOS/ FedoraDebian/Ubuntu< 用于 32 位和 64 位发行版。

在 Linux 中安装 Mod_Pagespeed 模块

正如我上面所讨论的,我们正在使用 Google 的官方二进制包来安装它以供将来更新,所以让我们继续根据您的操作系统架构将其安装在您的系统上。

在 RHEL/CentOS 和 Fedora 上

----------- On 32-bit Systems -----------------
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.rpm
yum install at   [# if you don't already have 'at' installed]
rpm -Uvh mod-pagespeed-stable_current_i386.rpm

----------- On 64-bit Systems -----------------
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.rpm
yum install at   [# if you don't already have 'at' installed]
rpm -Uvh mod-pagespeed-stable_current_x86_64.rpm

在 Debian 和 Ubuntu 上

----------- On 32-bit Systems -----------------
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb
sudo dpkg -i mod-pagespeed-stable_current_i386.deb
sudo apt-get -f install

----------- On 64-bit Systems -----------------
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb
sudo dpkg -i mod-pagespeed-stable_current_amd64.deb
sudo apt-get -f install

从二进制包安装 mod_pagespeed 会将 Google 的官方存储库添加到您的系统中,以便您可以使用名为 yum 或 apt 的包管理器自动更新 mod_pagespeed。

安装了什么Mode_Pagespeed

让我们看看系统上安装了哪些软件包 mod_pagespeed:

  1. 它将安装两个模块:mod_pagespeed.so(适用于Apache 2.2)和mod_pagespeed_ap24.so(适用于Apache 2.4)。
  2. 它将安装两个主要配置文件:pagespeed.confpagespeed_libraries.conf(对于 Debian pagespeed.load)。如果您更改这些配置文件之一,您将不再自动接收未来的更新。
  3. 一个独立的 JavaScript 压缩器 pagespeed_js_minify,用于压缩 JS 并为库规范化创建元数据。

关于 Mod_Pagespeed 配置和目录

该模块在安装过程中自动启用以下配置文件和目录。

  1. /etc/cron.daily/mod-pagespeed :mod_pagespeed cron 脚本,用于检查和安装最新更新。
  2. /etc/httpd/conf.d/pagespeed.conf :基于 RPM 的发行版中 Apache 的主要配置文件。
  3. /etc/apache2/mods-enabled/pagespeed.conf :基于 DEB 的发行版中 Apache2 的主要配置文件。
  4. pagespeed_libraries.conf:Apache 的默认库集,在 Apache 启动时加载。
  5. /usr/lib{lib64}/httpd/modules/mod_pagespeed.so:Apache 的 mod_pagespeed 模块。
  6. /var/cache/mod_pagespeed:网站的文件缓存目录。

重要:在 Nginx 中,mod_pagespeed 的配置文件通常位于 /usr/local/nginx/conf/ 目录下。

配置 Mod_Pagespeed 模块

在 Apache 中,mod_pagespeed 在安装时自动打开,而在 Nginx 中,您需要将以下几行添加到您的 nginx.conf 文件以及启用 PageSpeed 的每个服务器块中:

pagespeed on;

Needs to exist and be writable by nginx.  Use tmpfs for best performance.
pagespeed FileCachePath /var/ngx_pagespeed_cache;

Ensure requests for pagespeed optimized resources go to the pagespeed handler
and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
  add_header "" "";
}
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }

最后,不要忘记重新启动 Apache 或 Nginx 服务器以使 mod_pagespeed 正常工作。

步骤 4:验证 Mod_Pagespeed 模块

为了验证 mod_pagespeed 模块,我们将使用 curl 命令在域或 IP 上进行测试,如下所示:

curl -D- http://192.168.0.15/ | less
阿帕奇
HTTP/1.1 200 OK
Date: Fri, 04 Mar 2016 07:37:57 GMT
Server: Apache/2.4.6 (CentOS) PHP/5.4.16
...
X-Mod-Pagespeed: 1.9.32.13-0
---
nginx
HTTP/1.1 200 OK
Date: Fri, 04 Mar 2016 07:37:57 GMT
Server: nginx/1.4.0
...
X-Page-Speed: 1.5.27.1-2845
...

如果您没有看到 X-Mod-Pagespeed 标头,则意味着 mod_pagespeed 并未实际安装。

第 5 步:打开和关闭模块

如果您不想完全使用 mod_pagespeed,可以通过将以下行插入到顶部的 pagespeed.conf 文件中来关闭

ModPagespeed off

同样,要打开模块,将以下行插入到顶部的pagespeed.conf文件中。

ModPagespeed on

正如我上面所说,安装 mod_pagespeed 后,我们的网站加载速度加快 40%-50%。我们非常想通过评论了解您的网站在您的系统上安装后的速度。

有关配置的更多详细信息,您可以查看官方 mod_pagespeed 页面:https://developers.google.com/speed/pagespeed/module/。