由于博客使用了较多的图片,对首页等页面的加载速度影响较大,对用户体验有一定影响。图片我都会在tinypng等网站上压缩一下再使用。但是对于一些颜色丰富的图片,压缩后大小也比较大。由于个人服务器的带宽有限,访问量一多起来就有点捉襟见肘了。于是,最近两天用上了七牛的存储服务和CDN服务。记录下操作步骤供大家参考。
目录
一、安装七牛云对象存储插件
插件名:WPQiNiu(七牛云对象存储插件)
注意:这个不是七牛官方出品的插件,官方似乎并没有出品wordpress相关插件。
安装后如下图所示设置一下。
其中,存储空间名称就是在七牛上创建的空间的名称。对于CDN加速域名,我们希望图片资源通过哪个域名进行访问(不要和网站主域名重复),就将CDN加速域名设置成那个域名即可。比如,我设置的是https://cdn.orzzone.com。AccessKey和SecretKey参数,在七牛的“个人中心” => “密钥管理”中可以看到。
二、设置CDN域名解析
在上一步中,我们设置了CDN加速域名为https://cdn.orzzone.com,但这是我们新设置的域名,它并没有和任何服务器绑定,所以直接访问这个域名是获取不到图片资源的。我们访问这个域名并不是想访问到我们自己的服务器,而是希望访问到我们通过七牛存储服务存储到七牛那边的资源。
鼠标停到上图右侧的cname上可以看到一个类似cdn-orzzone-com-blablabla.qiniudns.com的地址。复制后在我们购买域名的网站上针对我们的cdn.orzznoe.com添加一个cname解析即可。记录值填我们刚才复制的这个地址即可。这样访问cdn.orzzone.com后就会访问到七牛那边了。
三、上传图片文件
到目前为止,我们还是无法通过cdn.orzzone.com来访问我们的图片资源的。我们需要到七牛后台上传我们的图片文件。
四、替换数据库里的旧图片地址
到这一次,我们已经可以通过直接访问https://cdn.orzzone.com加图片路径的方式访问到我们的图片资源了。但是博客里之前写的文档里的地址都还是旧的(地址以https://www.orzzone.com/wp-content/uploads/开头),我们需要把这些旧地址替换成以https://cdn.orzzone.com/开头的地址。
进入我们的数据库,执行下面的sql即可:
UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://www.orzzone.com/wp-content/uploads/', 'https://cdn.orzzone.com/' );
如果还有其他表里有类似的旧地址,通过相似的方式转换下就可以。如果数据本身就很少,手动修改地址也未尝不可。
现在我们再访问博客,邮件审查一下图片,可以看到博客里的图片地址已经被替换成了我们的新cdn地址了。博客访问速度有了一定的提升。
五、遗留问题
这个wordpress插件和我的主题或者安装的插件可能有点不兼容,或者主题本身就有问题。上传图片时裁剪的缩略图并不会自动上传CDN,所以如果使用裁剪图片的地址的话会访问不到图片。有两个临时方案:
- 新建文章中的图片使用全尺寸版本,不要用裁剪版本。
- 将裁剪版本的图片从网站上下载下载后手动上传到七牛云。