logo头像

图床搭建教程

搭建GitHub+PicGo+jsDelivr搭建高速稳定免费自己的图床存储资源

什么是图床?

图床一般是指储存图片的服务器,将图片等资源和应用服务分开,有如下几点好处:

  1. 统一管理图片等资源
  2. 防止应用服务器越来越臃肿
  3. 减轻应用服务器的负担,加速页面访问速度

介绍

一般图床为私有得或者公共的资源存储服务器,如七牛云、阿里云、腾讯云等,如果你搭建的是个人网站,那么没必要购买私有云服务器,成本比较高。

也有免费的公共图床服务器,但这些服务器无论在安全性还是可靠性都是没有保障的,数据容易丢失,访问响应慢。

想到可以在GitHub/Gitee上搭建GitHub Page,里面可以上传图片并且图片也可以访问,这不是很好的图床吗,本地可以保存一份,并且上传到Github/Gitee上云端也可以保存一份,还可以提供地址在线访问图片,这可以很好的解决我们的图床问题。
如果是在国内访问,推荐采用Gitee搭建图床,国外访问则采用Github page搭建。

本文通过Github搭建图床,采用jsdelivr做高速CDN,采用PicGo开源工具进行图片管理。

搭建过程

  1. 新建图床仓库(以Github为例)。

  1. 生成Token,供picGo配置

在主页点击用户头像,选择【Settings】-【Developer settings】-【Personal access tokens】-【Generate new token】,填写好描述,勾选【repo】,然后点击【Generate token】生成一个Token,注意这个Token只会显示一次,先保存至记事本,后续会用到。

保存生成后的token。

  1. 工具使用

配置picGo

uPic和iPic、PicGo类似,uPic,除了支持微博、码云、Github、腾讯云、阿里云、又拍云、七牛云等图床之外,还可以自定义配置图床。
uPic是一款开源简洁的图床客户端,方便用户直接上传图片到指定的存储空间,并获取有效的markdown图片地址,其默认图床为SM.MS,当然也支持配置腾讯云、七牛云、又拍云等常见的对象存储。最关键的是支持图床自定义配置,也让我毅然抛弃了一直以来付费使用的iPic。
在上传方式上,uPic支持本地选择/复制文件上传、截图上传,甚至可直接拖动文件到菜单栏uPic图标上完成上传动作。
在最新更新版本之后,uPic新增支持直接从浏览器中复制或者拖动在线图片上传到指定图床,这样就不用下载到本地再进行上传。

下载PicGo,选择对应的安装包。

  1. 下载安装后打开picGo进行设置。

    1. 设定仓库名:按照【用户名/图床仓库名】的格式填写
    2. 设定分支名:【master】
    3. 设定Token:粘贴上述生成的【Token】
    4. 指定存储路径:填写想要储存的路径,如【img/】,这样就会在仓库下创建一个名为 img 的文件夹,图片将会储存在此文件夹中
    5. 设定自定义域名:它的的作用是,在图片上传后,PicGo会按照【自定义域名+上传的图片名】的方式生成访问链接,放到粘贴板上,因为我们要使用jsDelivr加速访问,所以可以设置为https://cdn.jsdelivr.net/gh/用户名/图床仓库名,关于jsDelivr下面会说明。

  1. 关于jsDelivr

jsDelivr是一个致力于为开发者提供数千种Javascript、CSS等超过1650多种 Libraries 加速的免费CDN服务,该平台是首个「打通中国大陆与海外的免费CDN服务。
jsDelivr平台将服务重心放在更快速的网路连线,利用CDN技术来确保每个地区的使用者都能获得最好的连接速度。此外jsDelivr 可将不同的JavaScript 或CSS libraries 整合在一起,通过一段链结来载入网站,非常方便。
具体使用方法:https://cdn.jsdelivr.net/gh/你的用户名/你的仓库名@发布的版本号/文件路径。
其中:版本号不是必需的,是为了区分新旧资源,如果不使用版本号,将会直接引用最新资源。
例如:
https://lihao1991.gitee.io/images-bed/iblog-bg-8922321312932423345.jpg

加载任何Github发布、提交或分支
https://cdn.jsdelivr.net/gh/user/repo@version/file
加载 jQuery v3.2.1
https://cdn.jsdelivr.net/gh/jquery/jquery@3.2.1/dist/jquery.min.js
完全省略该版本以获取最新版本
https://cdn.jsdelivr.net/gh/jquery/jquery/dist/jquery.min.js
在末尾添加/以获取资源目录列表
https://cdn.jsdelivr.net/gh/jquery/jquery/
至此,所有搭建工作已完成,可以高效的开发编写文档了。