博客搭建教程(五)

博客搭建教程(五)
yngcy一、前言
在之前的教程中,我们已经完成了博客的多站部署。图片作为博客网站的重要资源,有哪些图床部署方案?今天就来带你熟悉常见的博客图床方案。
二、方案分析
图床方案很多,本质上就是将图片上传到服务器,然后以链接的方式获取图片。一般有三种方式:
- 自建图床:在服务器上搭建图床,然后使用。可以选择自行购买服务器搭建,或者使用别人搭建好的图床。
- 云存储:将图片等文件上传到云存储,如腾讯云等,这种方式不仅支持图像处理,并且可以配合 CDN 优化图片加载速度。缺点是付费,存在被刷流量的风险。
- 全局资源文件:将图片等资源作为全局资源放在博客目录中,一起生成
public
文件,然后以路径的方式加载图片。
这么多种方案,该选择合适的方案呢?我总结了对图床选择的八个维度,如下图所示。
- 稳定性:即服务的持续性和可靠性,确保图片能够在任何时候都能够正常加载。
- 可视化界面:提供图片管理页面,方便上传、查看图片等操作。
- 容量:能够容纳图片的总量以及单个图片的大小限制。
- 图像处理:支持剪裁、缩放、压缩和水印添加等 API。
- 配置:管理选项是否灵活,影响上手难度。
- 成本:主要是存储费用,是否有免费的存储额度和流量额度。
- 数据迁移:图片迁移是否方便,是否提供导入/导出功能。
- 安全:保护图片数据,防止恶意盗刷流量等举措。
这几个方面中,稳定性、可视化页面、图像处理和成本 是我们关键要的考虑的。
目前本博客采用了多种方案实现图片的访问,如下表所示。
图片 | 方案 | 说明 |
---|---|---|
一般图片 | 上传到自建图床,如杜老师的 去不图床 | 这些图片并不在文章中,一般用于页面展示,且不需要图像处理 |
文章图片 | 全局资源文件 | 考虑到文章中的图片与文章关联性比较大,因此放在一块方便迁移;同时也能节省成本,缺点是不能图像处理,影响 public 文件生成速度 |
封面 | 上传至云存储,例如腾讯云、多吉云等 | 封面需要压缩处理,且有需要其他图像处理的需求,同时可以配合 CDN 加速,提高访问速度 |
下面就来带大家实现这几种方式,其中使用自建图床比较简单,无需任何配置,基本就是上传后直接复制链接即可下载,因此下文不再赘述。
三、多吉云云存储 + CDN 方案
首先是 多吉云 ,它有免费的 10G 额度,对于博客来说,一般是够用的。配合自家免费的 20G 的 CDN 流量,效果不错。
官方文档:多吉云-文档中心
3.1 存储空间创建
首先创建云存储空间,依次点击 管理控制台 -> 云存储 -> 空间管理/空间列表
。
然后创建一个存储空间,仅存放图片等静态资源,且不需要图像处理,因此选择 基础型 即可。如果需要 API 处理图片,例如压缩图片等,则选择标准型即可。存储地域我选择 上海(华东),因为云服务器实例是在上海。配置如下图所示。
然后同意《声明》,即可创建成功。
3.2 CDN 加速域名配置
依次点击 融合 CDN -> 域名管理
,进入到域名管理页面。
点击添加域名。本教程添加的域名是 img.yngcy.com
,用于访问图片等静态资源,因此源站是多吉云的云存储,选择上一步创建的存储空间,参考配置如下图所示。
创建完成后,可以看到 CNAME 记录。
然后在域名购买厂商的控制台页面添加 DNS 解析记录(本教程中以阿里云为例)。
3.3 证书配置
在之前的教程中,我们为网站添加了 SSL 证书,如果域名未添加 SSL 证书,则会出现如下问题。
可以从请求的路径中看到,图片的地址也添加上了 https://
前缀,所以为了能够正常获取到图片,需要部署证书。申请证书的方法可以参考 博客搭建教程(三) 中的第四部分。
点击 证书管理
,上传证书,输入证书和私钥。
然后选择 CDN 域名(img.yngcy.com
),上传成功。
3.4 测试
进入到云存储空间,选择刚才创建的空间,点击文件管理。然后上传一个本地文件测试是否能够正常访问。
可以看到,能够正常获取到图片。
四、全局资源文件方案
这种方式比较简单,图片会和文章一起“打包”生成 public
文件。
Hexo 官方文档:资源文件夹 | Hexo
以我之前写的一篇文章为例,首先在 source
目录下创建 imgs/posts
目录,如下图所示。
然后将文章中的图片上传到这个目录中,我这里为了方便,以文章标题作为文件夹名称。
然后在对应的文章中以 路径 的方式索引到对应的图片资源。注意此时预览 MD 文件时并不能加载图片,因为这个路径既不是相对路径和绝对路径。
可以通过 hexo server
命令查看生成的效果。
这种方式的优点是成本低,且图片在全局资源文件中,即“文在图就在”。缺点也十分明显,无法做额外的图片处理(如加水印),如果图片过大,也会影响 public
文件生成的效率。
五、写在最后
以上就是本次的教程,我们介绍了几种常见的图床方案,包括自建图床、云存储和全局资源文件三种。
一般来说在经济条件允许的情况下,使用 云存储 + CDN 的方式最好,图片访问稳定且速度可观。如果只想要将图片上传至网络,以便可以链接获取,那么直接使用自建图床是最省事的方案,提供了可视化的界面,像管理本地图片一样,学习成本低。如果不考虑静态文件生成速度,图片也不需要任何保护,那么直接放在全局资源文件中也是一种可采取的方案。
如果你在跟着本教程的过程中遇到了其他问题或有什么想法,欢迎在下面交流评论!🐻❄️