A-A+

利用代理使 WordPress 加速

2009年03月07日 WordPress 暂无评论 阅读 1 次

原文出处:WordPress 加速

这个标题可能不是太恰当,事实上本文谈到方法只有很小的一部分与 WordPress 自身有关。

事情的缘起是我用 WordPress 重建了这个 blog,一切看起来都还不错。但美中不足,速度似乎是慢了些。本地访问都需要将近 3 秒的时间才能打开页面,远程访问就更可想而知了,这是我不能忍受的。

首先想到的是为 WordPress 添加 Cache 功能。WordPress 有这样的插件,叫做 wp-cache。但看网上其它用户的评论,似乎效果并不明显,而且增加插件本身就会增加页面显示的开销,更关键的是看到 WordPress 本身是有 Cache 功能的。果真如此的话,那应该是最理想的选择。

在 WordPress 官方搜索一番,果然在这页找到这个隐藏选项:

define('ENABLE_CACHE', true);

默认情况下,该选项并未开启。

把它加进我的 wp-config.php 中,再来看看,似乎是快了些。的确是似乎,因为效果并不明显,本地打开页面仍要超过 2 秒,“快了些”也许只是我的错觉。

那么瓶径在哪里呢?数据库?可能是的。我的数据库并不存储在本机,而是位于局域网上另外一台配置较好的主机上。一定是读取数据的延时!但这种想法值得商榷,正式的应用中,我想很少会有 Web 服务和数据库服务同时存在于同一台服务器上的案例。但也许是我局域网的速度有限,也许是我用机子配置太差……?总之,我还是来换一种方案试一下吧。

首先,在我的数据库主机(它同时也为局域网提供 Web 服务)上,新增一个虚拟主机配置:

        ServerName www.moyuer.cn
        ServerAdmin yuanshoujing@gmail.com
        DocumentRoot /path/to/htdocs/

我这里用了非标准的 8080 端口,要使它生效,还需要把它加进 Apache 的监听端口列表中:

Listen 80
Listen 8080

为了保证其它虚拟主机不监听 8080 端口,把它们修改成如下:

        ServerName www.example.com
        DocumentRoot /path/to/htdocs/

重启 Apache,没有报错的话,配置告一段落了。

但这台主机本身并不能被互联网访问到,接下来要做的就是把它发布出去。在网关主机(也就是本博客原本运行的主机)上,我使用的是 Lighttpd(我喜欢它的程度要超过 Apache),为它启用 mod_proxy,然后增加虚拟主机配置如下:

$HTTP["host"] =~ “(www.)?moyuer.cn” {
        proxy.server = ( “” =>
                ((
                        “host” => “ip.to.real.server”,
                        “port” => 8080
                ))
        )
}

重启 Lighttpd 使它生效。

再来访问一下,果然快了很多!本地访问,平均速度不超过一秒,似乎是可以接受了。:-)

给我留言

Copyright © 浩然东方 保留所有权利.   Theme  Ality 07032740

用户登录