头像用的最多的还是使用Gravatar头像,但是Gravatar头像服务器在国外,速度上肯定有影响,如果很快的缓存Gravatar头像呢?
网上大部分是本地缓存,然后通过本地化Gravatar头像缓存来加快速度。
但是这次我换一种方法,无需加重自己服务器的负担来加快,因为这里有免费的七牛,使用七牛的融合CDN,可以直接缓存Gravatar头像,然后把所有Gravatar头像地址改成七牛的地址就可以了。
使用方法:
1、去七牛申请帐号。官网地址:http://www.qiniu.com
推广注册地址:https://portal.qiniu.com/signup?code=3lkin4af40swi (希望大家通过这个注册,让我多点免费流量,谢谢)[break]
by 2018-10-03更新融合CDN缓存头像
2、创建一个融合CDN加速,点开“融合CDN” --> “域名管理” --> “添加域名”
3、域名类型选择“普通域名”即可;加速域名填入你自己的域名,如avatar.myxzy.com;覆盖范围我这里选择了“全球”(因为我有免费的国外流量);通讯协议我选择“HTTP”(HTTPS没有免费的,根据你需求选择);使用场景选择“图片小文件”;
选择“源站域名”填入“cn.gravatar.com”,当然你也可以填入www.gravatar.com或者en.gravatar.com,回源HOST可以跟源站域名相同,源站测试填入favicon.ico
这边缓存设置可以默认,当然你也可以自定义,这边的创建需要上述“源站测试”通过才可以创建
创建后需要等待一段时间才能完成(不超过20分钟)。
3、DNS CNAME绑定(略)
4、测试效果七牛缓存后头像效果
因为我使用的是emlog,Gravatar头像创建的连接一般是以下这种连接。
测试连接:http://www.gravatar.com/avatar/6016bea8a1116741c739ff17f8062776?s=40&d=mm&r=g
通过七牛绑定的域名(这边我已经绑定自己的域名了):http://avatar.myxzy.com/avatar/6016bea8a1116741c739ff17f8062776?s=40&d=mm&r=g
可以正常访问了,也可以通过参数指定头像大小了。
以上是通过七牛融合CDN来加速头像的,还有可以使用腾讯云来加速的。本站现在使用的就是使用腾讯云加速头像的。
演示效果:你可以看看本站的Gravatar头像效果。
emlog的话,直接修改includelibfunction.base.php中
function getGravatar($email, $s = 40, $d = 'mm', $g = 'g') { $hash = md5($email); $avatar = "http://www.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g"; return $avatar; } 修改为 function getGravatar($email, $s = 40, $d = 'mm', $g = 'g') { $hash = md5($email); //$avatar = "http://www.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g"; $avatar = "http://avatar.myxzy.com/avatar/$hash?s=$s&d=$d&r=$g"; return $avatar; }