基于GitHub仓库搭建图床

优点:
很稳定不会跑路,用的是自己的仓库和公共托管平台
图片可以增量快速更新和跨设备管理
可以进行版本管理和查看之前的版本
有公共CDN,速度还是不错的
资源格式可以任意都行,包括css、js等
缺点:
每个仓库限制1G,超过要新建另一个仓库
git管理可能偶尔会遇到网络和公钥失效问题

建立GitHub仓库

  1. 进入Github官网注册并登录自己的账号,到自己的个人主页,点击右上角的+,并选择New Repository创建自己的仓库。
  2. 仓库名字随意,描述也可以自由发挥,可见性最好选public,Readme文件可以创建,然后点击Create Repository创建仓库。
    • Repository name: 自定义仓库名,如:picbed
    • Description (optional): 自定义仓库描叙信息,如:图床
    • Public 勾选public
    • Add a README file 勾选添加readme文件
    • Create repository 点击创建项目
  3. 让你的计算机与Github建立通信,主要是创建公钥、上传公钥、检查通信这几步,确保计算机有权限访问远程仓库,所述教程是用的RSA公钥,目前更推荐ed25519公钥,该数字签名算法的签名和验证的性能都极⾼,具体教程百度这里不再赘述。
  4. 先在本地创建一个文件夹,文件夹位置和名字随意就可以,进入该文件夹后右键打开Git Bash,然后输入以下代码把之前创建的仓库拷贝下来,其中git clone后面的东西要替换成自己的仓库信息,可以通过自己仓库的ssh链接来获取。
    1
    git clone git@github.com:fomalhaut1998/pic_bed.git
    它会把整个仓库会被拷贝到当前文件夹,等待clone成功后,能看到自己的文件夹多了个.git文件夹和Readme.md文件,这就代表成功了。
  5. 在这个文件夹里面创建创建一个img文件夹专门存放图片,如果有存放其他类型资源的可以创建别的文件夹,比如现在想往仓库里加两张图,直接就把图片复制到img文件夹里面即可。
  6. 然后在带有Readme.md文件的那个文件夹内,右键打开Git Bash(注意看清楚是什么文件夹),然后依次输入以下命令把更改推送到远程仓库,最后一步不成功可能要多试几次。
    1
    2
    3
    4
    5
    # 将更改提交
    git add .
    git commit -m "更新图片"
    # 推送至github仓库
    git push
    运行完能看见最下面有如下信息就代表推送成功了

    a74d23..c23cd3 main -> main

  7. 回到GitHub刷新pic_bed.git仓库,会发现有了刚刚上传的资源
  8. 下次有增删改查图片的情况只需最后在在带有Readme.md文件的那个文件夹内执行git三件套了
    • 右键打开 Git Bash 依次执行以下三步
    • git add .
    • git commit -m "更新信息"
    • git push
  9. 你可以通过如下格式的链接引用你的图片
    1
    2
    3
    https://raw.githubusercontent.com/username/repository-name/main/img-file/xxx.png

    https://github.com/username/repository-name/raw/main/img-file/xxx.png

    前缀固定路径

    • https://raw.githubusercontent.com/
    • https://github.com/

    username 你github账号的用户名
    repository-name github创建的图床仓库的仓库名
    /main/ 当前仓库所在分支,默认main分支
    img-file/xxx.png 什么文件夹下的什么图片 路径

    • 比如img文件夹下的test.png图片路径就是 img/test.png

Staticaly CDN加速

现在这种方法似乎已经寄了

直接访问Github仓库的资源是非常慢的!因此我们要用一些免费的CDN进行加速,Staticaly CDN是免费CDN中比较好用的啦,他的应用规则如下:
格式 其中 user是用户名 repo是仓库名 version代表版本(tag或者分支 默认为main) flie是文件路径
https://cdn.staticaly.com/gh/user/repo@version/file

Vercel 部署

此方法加载速度较快,但是需要域名自定义绑定,其优点也是可以绑定自定义域了,目前Vercel每个月限制流量100GB

  1. 进入Vercel控制面板新建项目,并通过Github继续,选择导入刚刚创建的图床仓库,然后直接部署即可

    • 进入Vercel 点击右上角Add New 选择新建项目Project
    • 在左边Import Git Repository 中选择github Continue with GitHub
    • 选择创建的图床仓库 点击右侧 import
    • 在新界面全部保持默认,直接部署 ,即直接点击Deploy
    • 部署完成会显示Congratulations!
  2. 绑定域名

    1. 上述部署完成后 点击右上角continue to Dashboard 去仪表板
    2. 点击右上角 View Domains
    3. Domains下方添加一个自定义的二级域名
      • 比如说你注册的域名为 xxx.com
      • 你可以填 picbed.xxx.com
    4. 点击Add 他会显示你所需要添加的域名解析内容
      注意下方的Type Name Value这三项的值,待会要用到
      • 以阿里云的域名为例
      • 来到控制台,在左上角菜单里选择域名
      • 在域名列表中选择你的域名,点击解析在跳转后的界面 点击添加记录
      • 记录类型 填 vercel 给你的 Type
      • 主机记录 填你在第3步填的二级域名,例如上方示例的 picbed
      • 记录值 填 vercel 给你的 Value
      • 其他保持默认即可,点击确认添加
    5. 可能有多个解析要添加,重复第4步的添加解析就行了
    6. 回到Vercel 能看到picbed.xxx.com下已经打了勾表示完成了
  3. 访问资源
    • 自定域后面直接跟资源路径即可
    • 列如picbed.xxx.com/img/xxx.png
    • 直接在浏览器访问链接能显示图片就说明成功了。

如对文件夹里的图片有变动
在本地执行git add .,git commit -m "xxx",git push
Vercel会自动检测仓库的main分支变化并触发新一轮部署

如果出现了问题
分别去github和Vercel看仓库资源更新是否成功的情况来排除错误