cdn-networks

使用CDN加速网站访问速度

使用CDN加速网站访问速度

CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,加快用户访问网站的响应速度,提升用户体验。

CDN示意图:

cdn-networks
cdn-networks

CDN一般用户分发静态资源,css,js,音频、视频等等,当用户请求资源时,CDN网络会根据用户的网络类型和位置,选取最近的节点返回资源给用户,通常,当CDN网络上不存在这个资源时,CDN会访问源站(也就是上图的web server)抓取资源,缓存,并返回给用户(但这不是绝对的,你也可以直接把资源上传到CDN,而不通过web server)。

一方面,CDN加快了用户访问速度,提升了体验,另一方面 ,由于一部分请求被转移到CDN网络,也减轻了web server的访问压力

最近aiddroid.com也上了七牛云存储的CDN,具体步骤:

1.注册七牛云存储,通过实名认证后,获得以下额度,对于一般博客,完全够用:

  • 10GB永久免费存储空间
  • 每月10GB下载流量
  • 每月10万次Put请求
  • 每月100万次Get请求

2.创建新空间

qiniu-new-space
qiniu-new-space

3.进入”空间设置” => “域名设置” 配置自定义域名,默认的域名是7xkpev.com1.z0.glb.cloudcdn.com,我的自定义配置是cdn.aiddroid.com

4.审核通过后,到域名网站添加域名解析,把cdn.aiddroid.com CNAME 到 7xkpev.com1.z0.glb.cloudcdn.com

5.解析生效后,即能通过cdn.aiddroid.com访问到站点对应的资源

6.修改wordpress主题文件夹下functions.php代码,把图片资源切换到cdn,以下是我添加的代码,主要是利用ob buffer对html内容进行修改。

function cdn_ob_start() {
    ob_start('cdn_link_replace');
}
    
function cdn_link_replace($html) {
    return str_replace('https://xkelai.com/wp-content/uploads/', 'http://cdn.aiddroid.com/wp-content/uploads/', $html);
}

if(!is_admin()) {
    add_action('wp_loaded','cdn_ob_start');
}

7.完成

由于浏览器对同一域名的并发连接有限制,所以有需要时,可使用多个cdn域名,如cdn1.aiddroid.com,cdn2.aiddroid.com。。。

%1 $ S

发表回复