今天在尝试优化 WordPress 打开速度的时候,发现总是有图片是没法加载的。后来才发现 WordPress 默认使用 Gravatar 头像,而 Gravatar 在国内的情况是大家都懂的,经常出现无法加载的情况。Google 一番过后终于找到解决方法,同时也有了此文。

解决思路


Gravatar 无法访问的原因不在于 Gravatar 服务器,是你国功夫网和谐了人家,查证后发现只是污染了 HTTP ,而 HTTPS 仍是存活的,所以解决思路是使用 Gravatar 的 HTTPS 线路,或者使用其他 Gravatar 反代 CDN。

实现方法


源代码来自 http://www.dmeng.net/wordpress-replace-gravatar-host.html ,感谢原作者的无私奉献。

此处我将源代码中的 secure.gravatar.com 替换成由通天塔提供的 Gravatar 反代 CDN

把代码添加到主题目录下的 functions.php 文件最后即可

function dmeng_get_https_avatar($avatar){
$avatar = str_replace(array("www.gravatar.com", "0.gravatar.com", "1.gravatar.com", "2.gravatar.com"), "cdn.css.net", $avatar);
return $avatar;
}
add_filter('get_avatar', 'dmeng_get_https_avatar');

这算是我的第几个独立博客来着 = = 自己都记不清了

最开始是直接 apt-get install wordpress ,后来觉得 Ghost 不错,再后来又改行用诸如 Hexo 之类的静态博客框架,然而归根到底又回到了 WordPress 的怀抱中(摔

真可谓是生命不息,折腾不止。

在参考了 HJC 聚聚的 《Ubuntu 服务器上的最优 WordPress 方案》 和 Tom Bu 聚聚的 《抛弃 HHVM》 过后。综合两个方案所陈优点,最终在一台 RAM 只有 768M 的 KVM VPS 上部署了这么一套后端并不算常见的 PHP 环境。顺带还部署了一个自用的梯子

环境如下:

Ubuntu 14.04.3 LTS x64 + Nginx  + uWSGI + Percona Server + PHP 5.5.9 5.6

正如上文所述,Blog 系统用的是大名鼎鼎的 WordPress (似乎也是出了名的性能烂)。所以还适当的对其做了些优化,比如使用 国内反代的 Google Fonts CDN(感谢知名土豪showfom及其赞助商)等等。

 

值得注意的是, Google Fonts 在国内已可被正常解析

目前 ping fonts.googleapis.com,在国内解析出:googleadapis-china.1.google.com ,对应的 203.208.48.136 是谷歌中国的 IP 地址

看来 Google 在大陆已经对 Google Fonts 启用 CDN 了,官方的 CDN 在速度和稳定性相对于 360CDN 等要更胜一筹

 

似乎暂时没发现什么问题,加载速度似乎也还不错,未来可能会考虑买个域名然后给 Blog 加个 SSL?毕竟免费的 tk 域名没办法申请证书(StartSSL 的免费证书也不行

新 Blog,新起点,但愿我能在这个新平台上好好写些有用的东西(谁信你啊

BTW:我用 Hexo 写的 Blog 目前仍在运作中,有兴趣的不妨跳过去看看(同样是还没怎么写东西点这里,传送门直达