当初购买阿里云服务器的时候,带宽选择了2M的带宽,当要应付有大量图片的文章的时候,这点带宽就捉襟见肘了,导致图片加载速度比较慢,比较影响浏览体验。
为了解决这个问题,首先查看了升级带宽的费用,发现着实不便宜——比如要从2M升级到4M,一年要多付500多,更何况4M能不能满足需求,能满足多久的需求这还是另一个问题。
于是就想到了用内容分发网络——CDN,本着肥水不流外人田的原则,还是考虑了阿里云自家的CDN。最低的资费标准是一年500G流量,收费135元。这点流量对于我这种没有人浏览的小站来说,足够了,于是果断下单。
之后的设置还是比较简单的,添加要加速的域名,然后会生成一个CNAME解析地址,去到DNS解析页面将原来的A记录替换成CNAME记录,记录值就是刚才的CNAME解析地址。
回源地址设置成源网址即可。
设置完成后,大约5分钟后,用ping命令查看服务器域名,已经发现指向了加速服务器了,大功告成。
测试了一下图片加载速度,并通过按F12调取控制台查看。所有的页面第一次打开时,由于CDN上面还没有缓存内容,所以自然都是从源服务器上获取。源服务器上的图片尽管已经是设置了按需加载(Lazy Load),但是速度还是不理想,一些使用了幻灯片的文章,需要6-8秒才能显示出第一张图片。
之后按Ctrl+F5强制刷新,或者删除本地缓存之后,再次加载页面的确是快了不少,图片的远端读取地址已经变成了阿里云的CDN。在不同地点,不同运营商的网络下都进行了测试,发现已经会从就近的CDN载入图片,美滋儿滋儿。
随后问题就来了,在WordPress后端页面的时候,一些页面的显示格式全乱了。
还是通过F12控制台,发现有不少报错,主要是集中在一些插件上,考虑到CDN只能应对静态文件的加速,而类似php这样的动态文件,不能用CDN,所以可能是因为将一些动态文件也加速到CDN上去了。
回到阿里云CDN控制台,设置缓存过期时间,选择php文件名,过期时间选择0秒。一般各大CDN设置都大同小异,0秒意味着相关后缀名的文件将会直接返回原网址进行解析,而不通过CDN。
设置完毕后,一切就都正常了。
原创文章,作者:麦胖,如若转载,请注明出处:https://www.fatmike.net/using-aliyun-cdn-to-speed-up-picture-loading/