如何加快apache与mod_pagespeed和Memcached在Ubuntu 15.04

如何通过mod_pagespeed和Memcached在Ubuntu 15.04上加速apache

本教程将向您展示如何使用Apache的Google mod_pagespeed模块以及快速内存缓存Memcached来改善网站的页面加载时间。 页面加载时间是在搜索引擎中获得良好排名的重要因素,您可以使用Google PageSpeed Insights工具或Firefox Web浏览器中的开发人员工具来测试当前的加载时间。 Pagespeed是一个Apache 2模块,可在将网站的内容传递到浏览器之前优化和缓存网站的内容,结果是页面加载,服务器上的系统负载减少,服务器每秒可以提供更多页面。 Mod_pagespeed默认使用文件系统缓存,在本教程中,我们将使用Memcached替换文件系统缓存,Memcached是一个快速内存缓存守护程序,可进一步改善加载时间。 本教程与各种apache设置兼容,我将使用Ubuntu LAMP服务器 基础 但您也可以使用ISPConfig 3 Perfect Server教程。

安装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

Memcached守护程序在Ubuntu存储库中可用.deb包可以安装apt:

apt-get -y install memcached

运行命令“netstat -tap | grep memcached”来查看Memcached是否启动:

netstat -tap | grep memcached

netstat命令的结果如下所示:

root@server1:/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
root@server1:/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。 当您的网站没有多少流量时,可能您必须重新加载网页几次才能填满缓存,然后才能获得正确的结果。

链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏