鉴于最近网络环境不断恶化,所以我试用了一下 Cloudflare 的免费 CDN 服务。不过心里不是太放心,所以只缓存了静态内容。

(暂时没弄图片方面的插件,所有小图麻烦 Ctrl+左键 在新窗口中打开)
1,注册 Cloudflare 帐号(图里随便选了个),点我
注册 Cloudflare 帐号

2,填写域名信息,随后 Cloudflare 会尝试自动获取 DNS Records ,读秒结束后按 Continue
输入域名

3,如果获取设置成功的话那么核对后直接点击下一步就可以了。否则需要手动添加,Cloudflare 的域名添加有几点注意事项,其一是根域名需要输入 @,其二是 IPv4 和 IPv6 即 A/AAAA 记录要分开添加,其三不支持 *.domain.tld(可以添加,但是无法启动 CDN),添加好后继续。
导入DNS设置

4,选择哪些子域名启动 CDN,要更改的话只要单击右边的那个云就可以了。对于启用了CDN的二级(根)域名发起的 HTTP 请求,Cloudflare 会承担一个隧道的工作(流量通过 Cloudflare 的服务器),对于MX记录指定的主机或者没启用 CDN 的子域, Cloudflare 的 NameServer 会直接返回原来的地址。
选择要启用CDN的服务器

5,一切无误后,需要按 Cloudflare 的要求修改 NameServer 地址。Cloudflare 似乎有非常多的 NameServer 。
等待NameServer生效

6,随后稍等一会儿等待 NameServer 完成解析
更改NameServer

(由于上面的只是一个例子,所以上述的 gankeyu.com 并没有实际作为 CDN 加速域名,下面域名会变成 cdn.sherryai.com ,请不要误解)

7,安装 W3 Total Cache 插件
安装 W3 Total Cache 插件

8,由于 W3 Total Cache 不支持显式的本地缓存,所以需要在 VPS 上安装 vsFtpd (其他 ftp 服务器类似)

apt-get install vsftpd
vim /etc/vsftpd.conf

大致内容如此:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
local_root=/var/www_cdn

上述配置文件的策略是直接允许本地帐户登陆(我直接建立了一个名为 cdn 的本地帐户)。另外需要在黑名单文件中把除了用来登陆的 cdn 帐户之外的所有本地用户加入黑名单。可以参考这里。保存后别忘记重启 vsftpd 。

/etc/init.d/vsftpd restart

9,然后开始配置 W3 Total Cache,单击后台左边的 Performance ,然后在 General 中找到 Content Delivery Network,打勾后选择 Self-hosted / File Transfer Protocol Upload
W3 Total Cache General - CDN

10,再单击最上面的 Content Delivery Network,选择 Host attachments、Host wp-includes/ files、Host theme files、Force over-writing of existing files、Import external media library attachments(Host minified CSS and JS files 可选可不选,推荐不选)。之后请按照前面的步骤填入信息。
填入本机FTP信息

11,在 Save all settings之后,顺次点击 Content Delivery Network 页面上的 Upload attachments、Upload includes files、Upload theme files。最后再 Save all settings。

12,单击页面上方的 Preview,如果确认无误后单击 Deploy 应用更改。

PS: 关于SSL
现在 Cloudflare 处于 Public Beta 阶段,不知道什么时候免费服务会终止。免费帐号不支持 SSL,如果把带 SSL 的域名挂上 Cloudflare 并试图用 HTTPS 连接的话恐怕是完全连不上的。Cloudflare 的 Pro 帐号可以支持一个 SSL 站点,Enterprise 帐号可以支持任意个 SSL 站点,不过 Enterprise 帐号需要议价,总让人觉得遥不可及。

PS2: 关于全站 CDN
上面弄的这么麻烦纯粹是因为只 CDN 静态内容,如果要全站 CDN 的话直接把主域名丢给 Cloudflare 就行了。当然,免费账户不支持 SSL。

6 Thoughts on “Cloudflare 部署 WordPress 静态内容指南

  1. 这个服务要更改NAMESEVER才能实用呢,而且偶的SSL是阻碍…
    不过如果是Host而不是VPS的话,那个插件还有效么?

  2. bluebear on 2011/07/24 at 15:17 said:

    我知道要不要做 现在还不错

  3. wuzhengkai on 2011/08/02 at 09:59 said:

    orz。。。

    TMD没有留言板吗?

  4. 好多命令行啊

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Post Navigation