如何在 Ubuntu 15.04 上使用 mod_pagespeed 和 Memcached 加速 apache
本教程适用于这些操作系统版本
- Ubuntu 15.10(狡猾的狼人)
- Ubuntu 15.04(Vivid Vervet)
在此页
- 安装 mod_pagespeed
- 安装 Memcached
- 配置 mod_pagespeed 以使用 Memcached
- 链接
本教程将向您展示如何通过将适用于 Apache 的 Google mod_pagespeed 模块与快速内存缓存 Memcached 结合使用来改善您网站的页面加载时间。页面加载时间是在搜索引擎中获得良好排名的重要因素,您可以测试当前加载时间,例如使用 Google Ubuntu LAMP 服务器作为
安装 mod_pagespeed
Google 为 32 位和 64 位 Ubuntu 安装提供了 mod_pagespeed .deb 包。
如何确定您需要 32 位还是 64 位软件包?运行命令:
uname -a
命令的结果应该类似于下面的屏幕截图。

当命令包含字符串 \x86_64\ 时,您的系统将运行 64 位 Linux 内核。在这种情况下,使用下面为 64 位 Ubuntu 提供的命令。
Ubuntu 64 位(大多数当前服务器的默认设置)
cd /tmp
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb
dpkg -i mod-pagespeed-stable_current_amd64.deb
Ubuntu 32 位
cd /tmp
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb
dpkg -i mod-pagespeed-stable_current_i386.deb
然后重新启动 Apache 2 以加载 mod_pagespeed 配置。
service apache2 restart
安装内存缓存
Memcached 守护进程在 Ubuntu 存储库中以 .deb 包的形式提供,可以使用 apt 安装:
apt-get -y install memcached
运行命令 \netstat -tap | grep memcached\ 查看 Memcached 是否启动:
netstat -tap | grep memcached
netstat 命令的结果应如下所示:
:/tmp# netstat -tap | grep memcached
tcp 0 0 localhost:11211 *:* LISTEN 1687/memcached
我用粗体标记了运行 Memcached 的端口。我们需要知道 mod_pagespeed 配置的端口号。
如果您喜欢在基于 PHP 的应用程序中使用 Memcache 而不仅仅是 mod_pagespeed,那么请安装 PHP memcahed 扩展:
apt-get install php5-memcached
配置 mod_pagespeed 以使用 Memcached
在编辑器中打开 pagespeed.conf 文件,我将在这里使用 nano 编辑器:
nano /etc/apache2/mods-available/pagespeed.conf
并搜索行 \ModPagespeedMemcachedServers\:
[....]
# ModPagespeedMemcachedServers localhost:11211
[....]
删除该行前面的#,使结果行如下所示:
[....]
ModPagespeedMemcachedServers localhost:11211
[....]
如果您的服务器中有足够的内存,那么您可以通过删除此行前面的 # 来进一步加快速度:
[....]
ModPagespeedCreateSharedMemoryMetadataCache "/var/cache/mod_pagespeed/" 51200
[....]
然后重新启动 Apache 2 服务器以激活新配置。
service apache2 restart
现在 mod_pagespeed 将使用 Memcached 作为存储后端。您可以使用 nc 命令从 Memcached 获取使用情况统计信息:
echo stats | nc 127.0.0.1 11211
:/tmp# echo stats | nc 127.0.0.1 11211
STAT pid 1687
STAT uptime 134
STAT time 1440931897
STAT version 1.4.14 (Ubuntu)
STAT libevent 2.0.21-stable
STAT pointer_size 64
STAT rusage_user 0.000000
STAT rusage_system 0.008000
STAT curr_connections 5
STAT total_connections 6
STAT connection_structures 6
STAT reserved_fds 20
STAT cmd_get 0
STAT cmd_set 0
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 0
STAT get_misses 0
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 6
STAT bytes_written 0
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT bytes 0
STAT curr_items 0
STAT total_items 0
STAT evictions 0
STAT reclaimed 0
END
按 [ctrl] + c 返回命令提示符。
现在再次测试您网站的速度,例如使用 PageSpeed Insights。当您的网站还没有太多流量时,您可能需要重新加载网页几次以填充缓存,然后才能获得正确的结果。
链接
- Google pagespeed 工具
- memcached.org